It seems you already have a working solution, but I'm thinking that perhaps the order of operations was throwing it for a loop ... I'll explain.
The excel formula:
=PI()*2*2000*(180-(DEGREES(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
Evaluated L to R using the order of operations ...
PEMDAS
Parenthesis evaluated FIRST
Then EXPONENTS (you have none)
Then MULTIPLICATION and DIVISION
Then ADDITION and SUBTRACTION
=PI()*2*2000*(180-(DEGREES(ACOS(RADIANS(DEGREES
(4000/2/2000))))*2))/360+123+100
=PI()*2*2000*(180-(DEGREES(ACOS(RADIANS
(DEGREES(4000/2/2000))))*2))/360+123+100
=PI()*2*2000*(180-(DEGREES(ACOS
(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
=PI()*2*2000*(180-(DEGREES
(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
=PI()*2*2000*(180-
(DEGREES(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
=PI()*2*2000*
(180-(DEGREES(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
=
PI()*2*2000*(180-(DEGREES(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100
=
PI()*2*2000*(180-(DEGREES(ACOS(RADIANS(DEGREES(4000/2/2000))))*2))/360+123+100It ultimately becomes
=PI()*2000+223Your LISP code incorrectly adds 360 to 123 and 100 to be evaluated before being multiplied
It is easy to get these kinds of things wrong when you have so many things going on, but if there is ever a doubt just break it down from the innermost set of parenthesis and use the PEMDAS order of operations.
Also, as expressed elsewhere, converting values to radians (DEGREES function) then immediately converting back to radians (RADIANS function) is redundant and you could simplify it to
=PI()*2*2000*(180-(DEGREES(ACOS(4000/2/2000))*2))/360+123+100
Good luck!