Oops, you're right about that. Anyway here are some algebraic optimizations. I subbed in X for r1-r3 and Y for r2-r4 for readability but i think you'll have to put that into the code each time (or you could make a lambda out of it to save on size, but i don't know how that would affect the speed.
Lbl LINE
If r1<<0
-Y*r3//X+r4->r2
0->r1
ElseIf r1>94
94-r1*Y//X+r2->r2
94->r1
End
If r2<<0
-X*r2//Y+r1->r1
0->r2
ElseIf r2>62
62-r2*X//Y+r1->r1
62->r2
End
If r3<<0
-Y*r3//X+r4->r4
0->r3
ElseIf r3>94
94-r1*Y//X+r2->r4
94->r3
End
If r4<<0
-X*r2//Y+r1->r3
0->r4
ElseIf r4>62
62-r2*X//Y+r1->r3
62->r4
End
Line(r1,r2,r3,r4)
Return