Module CheckFirst { RAD = lambda -> number/180*pi ASIN = lambda RAD -> { Read x : x=Round(x,10) If x>=0 and X<1 Then { =RAD(abs(2*Round(ATN(x/(1+SQRT(1-x**2)))))) } Else.if x==1 Then { =RAD(90) } Else error "asin exit limit" } ACOS=lambda ASIN (x) -> PI/2 - ASIN(x) POW3 = Lambda ->number**3 POW3INV =Lambda ->number**(1/3) COSRAD =lambda ->Cos(number*180/pi) SINRAD=lambda ->Sin(number*180/pi) Composed=lambda (f1, f2) -> { =lambda f1, f2 (x)->{ =f1(f2(x)) } } Dim Base 0, A(3), B(3), C(3) A(0)=ACOS, ASIN, POW3INV B(0)=COSRAD, SINRAD, POW3 C(0)=Composed(ACOS, COSRAD), Composed(ASIN, SINRAD), Composed(POW3INV, POW3) Print $("0.00") For i=0 To 2 { Print A(i)(B(i)(.5)), C(i)(.5) } } CheckFirst