Finally got around to making a proper optimization.
The program is still not by any means fast (there is still about a half-second delay between input and output on my Ti-84 plus), but it's likely faster than the original.
ClrHome
AxesOff
0->Xmin
Xmin->Ymin
1->[triangle]X
[triangle]X->[triangle]Y
" ->Str1
DelVar KRepeat K=45 or K=105
getKey->K
1+6iPart(.1Ans)+10fPart(.1Ans
Str1+sub("[20 spaces]X[10 spaces]-1sin(cos(tan(^ 2 ()/ log(789* ln(456- 123+ 0.~ ",Ans,1->Str1
length(Str1
sub(Str1,1,Ans-(sub(Str1,Ans,1)=" ->Str1
sub(Ans,1,length(Ans)-(K=23->Str1
[line to clear any text currently written]
[line to write Str1 in location just cleared]
End
sub(Str1,2,length(Str1,2,length(Str1)-1->Str1
If K[not equal]45:Pause expr(Str1
The program is still not by any means fast (there is still about a half-second delay between input and output on my Ti-84 plus), but it's likely faster than the original.
ClrHome
AxesOff
0->Xmin
Xmin->Ymin
1->[triangle]X
[triangle]X->[triangle]Y
" ->Str1
DelVar KRepeat K=45 or K=105
getKey->K
1+6iPart(.1Ans)+10fPart(.1Ans
Str1+sub("[20 spaces]X[10 spaces]-1sin(cos(tan(^ 2 ()/ log(789* ln(456- 123+ 0.~ ",Ans,1->Str1
length(Str1
sub(Str1,1,Ans-(sub(Str1,Ans,1)=" ->Str1
sub(Ans,1,length(Ans)-(K=23->Str1
[line to clear any text currently written]
[line to write Str1 in location just cleared]
End
sub(Str1,2,length(Str1,2,length(Str1)-1->Str1
If K[not equal]45:Pause expr(Str1