'ProgramMode:RUN
Lbl 0
ClrText
Menu "MathTool_+__+_","Sin & Cos laws",1,"Geom. Mean",2,"Back",Z
Lbl 1
ClrText
Menu "_sin __cos _laws","cos: find sides",A,"cos: find angles",B,"sin: find side  ",C,"sin: find angle ",D,"Back",0
Lbl A
"0 for ?"
"A"?->A
"B"?->B
"C"?->C
"_Angle_A"?->D
"_Angle_B"?->E
"_Angle_C"?->F
If A=0:Then 
Sqrt(B^<2>+C^<2>-2BCcos D)->G
GDispsClrText
Goto 1
IfEnd
If B=0:Then 
Sqrt(A^<2>+C^<2>-2ACcos E)->G
GDispsClrText
Goto 1
IfEnd
If C=0:Then 
Sqrt(A^<2>+B^<2>-2ABcos F)->G
GDispsClrText
Goto 1
IfEnd
Goto 1
Lbl B
"A"?->A
"B"?->B
"C"?->C
"_Angle_A"
cos^-1 ((A^<2>-(B^<2>+C^<2>))/((-)2BC))Disps"_Angle_B"
cos^-1 ((B^<2>-(A^<2>+C^<2>))/((-)2AC))Disps"_Angle_C"
cos^-1 ((C^<2>-(B^<2>+A^<2>))/((-)2AB))DispsClrText
Goto 1
Lbl C
"SOLVES B&C"
"A"?->A
"_Angle_A"?->Theta
"_Angle_B"?->B
"_Angle_C"?->C
((Asin B)/(sin Theta))->D
((Asin C)/(sin Theta))->E
"SIDE B"
DDisps"SIDE C"
EDispsClrText
Goto 1
Lbl D
"Finds _Angle_B"
"A "?->A
"_Angle_A"?->Theta
"B "?->B
sin^-1 (((Bsin Theta)fracA))->D
"_Angle_B"
DDispsGoto 1
Lbl 2
"A"?->A
"B"?->B
Sqrt(A*B)DispsGoto 0
Lbl Z
Return
