Along with the kinematics one, can you please optimize this for size;Again, don't worry about sub programs.
Lbl R
Degree
ClrHome
Menu("Have?","Opp/Hyp",1,"Adj/Hyp",2,"Opp/Adj",3,"Side+theta",S,"Exit?",4
Lbl 1
ClrHome
Input "Opp:",O
Input "Hyp:",H
sin^-1(O/H)->A
ClrHome
Output(1,1,"theta="
Output(1,3,A)
Pause
ClrHome
Goto X
Lbl 2
ClrHome
Input "Adj:",A
Input "Hyp:",H
cos^-1(A/H)->B
ClrHome
Output(1,1,"theta="
Output(1,3,B
Pause
ClrHome
Goto X
Lbl 3
ClrHome
Input "Opp:",O
Input "Adj:",A
tan^-1(O/A)->B
ClrHome
Output(1,1,"theta="
Output(1,3,B)
Pause
ClrHome
Goto R
Lbl 5
ClrHome
Asm(prgmZDONE
Return
Lbl S
ClrHome
Menu("Have?","Opp",O,"Adj",A,"Hyp",H,"Exit?",4
Lbl O
ClrHome
Input "theta:",A
Input "Opp:",B
B/sin(A)->C
B/tan(A)->D
ClrHome
Output(1,1,"Hyp="
Output(1,5,C)
Output(2,1,"Adj="
Output(2,5,D)
Pause
ClrHome
Goto R
Lbl A
ClrHome
Input "theta:",B
Input "Adj:",A
Atan(B)->C
A/cos(B)->D
ClrHome
Output(1,1,"Opp="
Output(1,5,C)
Output(2,1,"Hyp="
Output(2,5,D)
Pause
ClrHome
Goto R
Lbl H
ClrHome
Input "theta:",A
Input "Hyp:",G
Gsin(A)->B
Gcos(A)->C
ClrHome
Output(1,1,"Opp="
Output(1,5,B)
Output(2,1,"Adj="
Output(2,5,C)
Pause
Goto R
Lbl 4
ClrHome
Asm(prgmZDONE)
Return