Details

Time bar (total: 44.7s)

analyze1.1s (2.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
9.4%9.4%90.4%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
10.9%10.9%88.9%0.2%0%0%0%11
10.9%10.9%88.9%0.2%0%0%0%12
Compiler

Compiled 25 to 15 computations (40% saved)

sample13.7s (30.6%)

Results
10.4s4596×body1024valid
1.7s1728×body256valid
1.3s1804×body512valid
221.0ms128×body2048valid
Bogosity

preprocess93.0ms (0.2%)

Algorithm
egg-herbie
Rules
1996×rational.json-simplify-35
1300×rational.json-simplify-2
1202×rational.json-simplify-26
1042×rational.json-simplify-41
736×rational.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064441
1126441
2200441
3317441
4538441
51122441
62914441
75634441
87624441
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda2 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 phi1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 phi1 lambda2))) (+.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 phi1 lambda2))))))
(+.f64 phi2 (atan2.f64 (*.f64 (cos.f64 lambda1) (sin.f64 (-.f64 phi2 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 (-.f64 phi2 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 phi1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 (-.f64 lambda1 phi2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi1) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda2 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda2 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 phi1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 phi1 lambda2))) (+.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 phi1 lambda2))))))
(+.f64 phi1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 phi1 lambda2))) (+.f64 (cos.f64 lambda1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 phi1))))))
(+.f64 phi2 (atan2.f64 (*.f64 (cos.f64 lambda1) (sin.f64 (-.f64 phi2 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 (-.f64 phi2 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 phi1))) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 phi1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 (-.f64 lambda1 phi2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 lambda2) (sin.f64 (-.f64 lambda1 phi2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 (-.f64 phi2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi1) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi1)) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))))
Compiler

Compiled 28 to 18 computations (35.7% saved)

simplify167.0ms (0.4%)

Algorithm
egg-herbie
Rules
2150×rational.json-simplify-35
2062×rational.json-simplify-1
888×rational.json-simplify-2
868×rational.json-simplify-41
748×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01763
13163
25263
38663
415463
530463
669163
7183363
8396963
9482363
10567763
11598763
12634063
13679363
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))

eval1.0ms (0%)

Compiler

Compiled 44 to 20 computations (54.5% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
Compiler

Compiled 24 to 15 computations (37.5% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 88 to 15 computations (83% saved)

series11.0ms (0%)

Counts
4 → 64
Calls

36 calls:

TimeVariablePointExpression
1.0ms
phi1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
1.0ms
phi2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
1.0ms
phi2
@0
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
1.0ms
lambda2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
1.0ms
lambda1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))

rewrite89.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1772×bool.json-1
1772×bool.json-2
1736×rational.json-1
1316×bool.json-3
710×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017110
1171110
2466110
31011110
42323110
55832110
Stop Event
node limit
Counts
4 → 71
Calls
Call 1
Inputs
(sin.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (sin.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 (-.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda2 lambda1))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (-.f64 lambda1 lambda2)) (sin.f64 (-.f64 lambda1 lambda2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 (-.f64 lambda2 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 (-.f64 lambda2 lambda1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))))))

simplify235.0ms (0.5%)

Algorithm
egg-herbie
Rules
2564×rational.json-simplify-2
1452×rational.json-simplify-35
1152×rational.json-simplify-53
1042×rational.json-simplify-1
608×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02704679
16314651
214044549
325864399
438744399
548374399
659114399
766244399
869844399
975674399
Stop Event
node limit
Counts
135 → 229
Calls
Call 1
Inputs
(sin.f64 (neg.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 lambda1)
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (neg.f64 lambda1))
(+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))))
(+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))
(+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 lambda2)
(+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 (-.f64 lambda2 lambda1)))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 (-.f64 lambda2 lambda1))))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (cos.f64 phi1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (cos.f64 phi1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1)))))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)
(+.f64 0 (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 -1 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))))
(+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)
(-.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)
(-.f64 0 (sin.f64 (-.f64 lambda2 lambda1)))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)
(*.f64 1 (sin.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (sin.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2))
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2) 2)
(/.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)
(/.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 2)
(/.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 4)
(/.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 8)
(/.f64 (+.f64 (sin.f64 (-.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda2 lambda1))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 16)
(neg.f64 (sin.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)
(+.f64 0 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(*.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) 2)
(/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))) 16)
(neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 0)
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))
(-.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)
(*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))) 16)
Outputs
(sin.f64 (neg.f64 lambda2))
(neg.f64 (sin.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 lambda2)))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 2) -1/2))))
(+.f64 (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 lambda2))) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (+.f64 (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 2) -1/2))) (*.f64 -1/6 (*.f64 (pow.f64 lambda1 3) (cos.f64 lambda2)))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (+.f64 (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2)))) (*.f64 (pow.f64 lambda1 3) (*.f64 (cos.f64 lambda2) -1/6))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2))) (+.f64 (*.f64 lambda1 (cos.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (cos.f64 lambda2))))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 lambda1 2))) (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(sin.f64 lambda1)
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (sin.f64 lambda1))
(+.f64 (sin.f64 lambda1) (*.f64 lambda2 (*.f64 (cos.f64 lambda1) -1)))
(+.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 lambda2)))
(+.f64 (sin.f64 lambda1) (*.f64 (neg.f64 lambda2) (cos.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) -1)) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2)))))
(+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 lambda2))))
(+.f64 (+.f64 (sin.f64 lambda1) (*.f64 (neg.f64 lambda2) (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))))
(+.f64 (*.f64 (neg.f64 lambda2) (cos.f64 lambda1)) (+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 lambda1))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))) (+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))))))
(+.f64 (*.f64 lambda2 (*.f64 (cos.f64 lambda1) -1)) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1))))))
(+.f64 (sin.f64 lambda1) (+.f64 (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 lambda2 2) -1/2)) (*.f64 (cos.f64 lambda1) (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (cos.f64 lambda1) (neg.f64 lambda2))))
(+.f64 (+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (+.f64 (*.f64 (neg.f64 lambda2) (cos.f64 lambda1)) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 lambda1)))))
(+.f64 (+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (*.f64 (cos.f64 lambda1) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (*.f64 (cos.f64 lambda1) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (neg.f64 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (neg.f64 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (neg.f64 lambda2) lambda1))
(sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(sin.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (neg.f64 lambda1))
(cos.f64 lambda1)
(+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1)))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0))))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))
(+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1)) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (neg.f64 (sin.f64 lambda1)))))))
(+.f64 (+.f64 (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))) (+.f64 (cos.f64 lambda1) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (neg.f64 (sin.f64 lambda1))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (+.f64 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0)))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (neg.f64 (sin.f64 lambda1))))))
(+.f64 (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3))))))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 lambda2)
(+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1))
(+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2)))))
(+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 (cos.f64 lambda2) -1/2)) (cos.f64 lambda2)))
(+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2)))) (*.f64 -1/6 (*.f64 (pow.f64 lambda1 3) (sin.f64 lambda2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 2) (*.f64 (cos.f64 lambda2) -1/2))) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/6 (*.f64 (pow.f64 lambda1 3) (sin.f64 lambda2))))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) 1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 1/24 (pow.f64 phi1 4))))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 1 (+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (cos.f64 phi1)))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 (-.f64 lambda2 lambda1)))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 (-.f64 lambda2 lambda1)))) (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 (-.f64 lambda2 lambda1))))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 4))) (*.f64 -1/720 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 6)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi2 4))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (pow.f64 phi2 2))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 6) -1/720))) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (cos.f64 phi1)))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))) (*.f64 -1 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2)))))
(+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))) (cos.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) (cos.f64 phi2))))) (*.f64 -1 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2))))))
(+.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) -1/2)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (*.f64 -1/2 (pow.f64 lambda2 2)))) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (cos.f64 phi2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 lambda1)))))))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2)))) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1))))) (+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))))))
(+.f64 (*.f64 (*.f64 lambda2 (sin.f64 (-.f64 lambda1 0))) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2)))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (cos.f64 phi2)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))) (*.f64 (cos.f64 phi2) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (sin.f64 lambda2) (*.f64 lambda1 (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (cos.f64 phi2))) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))))
(+.f64 (*.f64 (sin.f64 lambda2) (*.f64 lambda1 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (cos.f64 phi2)))))))
(+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2)) (*.f64 -1/2 (cos.f64 phi2)))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda1 2))))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2))))) (cos.f64 phi2)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))))))))
(+.f64 (*.f64 (sin.f64 lambda2) (*.f64 lambda1 (cos.f64 phi2))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (cos.f64 phi2)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (*.f64 (pow.f64 lambda1 3) (cos.f64 phi2)))) (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2)))))) (+.f64 (*.f64 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2)) (*.f64 -1/2 (cos.f64 phi2))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 -1/6 (*.f64 (pow.f64 lambda1 3) (sin.f64 lambda2)))))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 -1/6 (*.f64 (pow.f64 lambda1 3) (sin.f64 lambda2))))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2))))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (sin.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)) (cos.f64 phi2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 0 (sin.f64 (-.f64 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 -1 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)
(sin.f64 (-.f64 lambda1 lambda2))
(-.f64 (sin.f64 (-.f64 lambda1 lambda2)) 0)
(sin.f64 (-.f64 lambda1 lambda2))
(-.f64 0 (sin.f64 (-.f64 lambda2 lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 1 (sin.f64 (-.f64 lambda1 lambda2)))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 -1 (sin.f64 (-.f64 lambda2 lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 1/2)
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 4 (/.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 1/4)
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2))
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)
(sin.f64 (-.f64 lambda1 lambda2))
(*.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1/2) 2)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (sin.f64 (-.f64 lambda1 lambda2)) 1)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2) 2)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4) 4)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (sin.f64 (-.f64 lambda2 lambda1)) -1)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 8)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (+.f64 (sin.f64 (-.f64 lambda2 lambda1)) (sin.f64 (-.f64 lambda2 lambda1))) -2)
(sin.f64 (-.f64 lambda1 lambda2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) (*.f64 2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 16)
(sin.f64 (-.f64 lambda1 lambda2))
(neg.f64 (sin.f64 (-.f64 lambda2 lambda1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 0 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 lambda2 lambda1))
(-.f64 (cos.f64 (-.f64 lambda2 lambda1)) 0)
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 1/2)
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 4 (/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 1/4)
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) 2)
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2)
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4) 4)
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) 8)
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 4))) 16)
(cos.f64 (-.f64 lambda2 lambda1))
(neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 0)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 1/2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 1/4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1/2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4) 4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) 8)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi2)))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))

eval66.0ms (0.1%)

Compiler

Compiled 6833 to 2249 computations (67.1% saved)

prune51.0ms (0.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21811229
Fresh000
Picked101
Done000
Total21911230
Error
0.5b
Counts
230 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
17.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1))))) (+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))))))))
14.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
1.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (cos.f64 phi2)))))
14.8b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
13.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
1.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
12.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
28.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
22.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
Compiler

Compiled 620 to 398 computations (35.8% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.5b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 75 to 14 computations (81.3% saved)

series8.0ms (0%)

Counts
3 → 88
Calls

30 calls:

TimeVariablePointExpression
1.0ms
phi1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
1.0ms
phi2
@0
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
1.0ms
phi2
@inf
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.0ms
phi2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
0.0ms
lambda1
@0
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))

rewrite82.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1666×bool.json-1
1666×bool.json-2
1632×rational.json-1
1632×rational.json-2
1220×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01697
116297
244797
399497
4227597
5555497
Stop Event
node limit
Counts
3 → 38
Calls
Call 1
Inputs
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))))))

simplify256.0ms (0.6%)

Algorithm
egg-herbie
Rules
1984×rational.json-simplify-1
1846×rational.json-simplify-35
1760×rational.json-simplify-2
768×rational.json-simplify-41
648×rational.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01925496
14705440
29815364
318965256
433025256
539255256
647765256
753375256
857805256
962595256
1076065256
Stop Event
node limit
Counts
126 → 151
Calls
Call 1
Inputs
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)
(+.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)
(/.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 1)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) 2)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)))) 16)
Outputs
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2))) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2))) (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) (+.f64 1 (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 1 (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (+.f64 (cos.f64 lambda2) (cos.f64 phi1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))))
(+.f64 (cos.f64 lambda2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (+.f64 (cos.f64 lambda2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))))) (*.f64 -1/720 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 6)))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))))) (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))))) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (+.f64 (cos.f64 lambda2) (cos.f64 phi1)) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4)))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 4) 1/24)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))) (*.f64 -1/720 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 6)))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 4) 1/24)) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 6) -1/720))))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (*.f64 (pow.f64 lambda2 6) (*.f64 (cos.f64 phi2) -1/720)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 1/24 (pow.f64 lambda2 4)))))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 -1/2 (pow.f64 lambda2 2)))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 -1/720 (pow.f64 lambda2 6)))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(sin.f64 (-.f64 lambda1 lambda2))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (sin.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (sin.f64 (-.f64 lambda1 lambda2)))) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 6))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 4))) (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (pow.f64 phi2 2))))))
(+.f64 (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (sin.f64 (-.f64 lambda1 lambda2)))) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2)))))) (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (sin.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (sin.f64 (-.f64 lambda1 lambda2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (sin.f64 (-.f64 lambda1 lambda2)))) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (sin.f64 (-.f64 lambda1 lambda2))))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 -1/720 (pow.f64 phi2 6))) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (sin.f64 (-.f64 lambda1 lambda2)) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 phi2) lambda1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 2) -1/2)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 2))))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3)))))))
(+.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) -1/6)))))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 2)))) (*.f64 (cos.f64 phi2) (*.f64 -1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3))))) (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) lambda1) (*.f64 (pow.f64 lambda1 3) (*.f64 (cos.f64 lambda2) -1/6)))) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 2) -1/2)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) -1)))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 lambda2 (neg.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))))
(*.f64 (cos.f64 phi2) (+.f64 (sin.f64 lambda1) (neg.f64 (*.f64 lambda2 (cos.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))
(+.f64 (*.f64 lambda2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) -1)) (+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) -1/2)) (*.f64 lambda2 (neg.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1))))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (sin.f64 lambda1) (neg.f64 (*.f64 lambda2 (cos.f64 lambda1))))) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (sin.f64 lambda1))) (+.f64 (sin.f64 lambda1) (neg.f64 (*.f64 lambda2 (cos.f64 lambda1))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) -1)) (+.f64 (+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 2))))) (*.f64 1/6 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3))))))
(+.f64 (*.f64 lambda2 (neg.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))) (+.f64 (+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) -1/2))) (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 3)) 1/6))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (sin.f64 lambda1) (neg.f64 (*.f64 lambda2 (cos.f64 lambda1))))) (+.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 (*.f64 (sin.f64 lambda1) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))
(+.f64 (*.f64 (sin.f64 lambda1) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))) (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(+.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))))
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 0)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 1)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 2)) 2)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)) 4)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) 8)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) 4)))) 16)
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.6b
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 72 to 14 computations (80.6% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
lambda2
@0
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
0.0ms
lambda1
@0
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
0.0ms
phi1
@0
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
0.0ms
lambda2
@-inf
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
0.0ms
lambda1
@-inf
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))

rewrite111.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1720×bool.json-1
1720×bool.json-2
1672×rational.json-1
1100×bool.json-3
918×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
110021
228421
363221
4137721
5318521
6657621
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 phi1) 1/2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) (*.f64 (cos.f64 phi1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) (*.f64 (cos.f64 phi1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))))))

simplify374.0ms (0.8%)

Algorithm
egg-herbie
Rules
2012×rational.json-simplify-35
1312×rational.json-simplify-48
1158×rational.json-simplify-2
938×rational.json-simplify-1
930×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01211539
12721533
25861523
311991503
420471493
534051493
644141493
756631493
862261493
967481493
1073911493
Stop Event
node limit
Counts
57 → 85
Calls
Call 1
Inputs
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 lambda1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 0)
(*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)
(*.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2))
(*.f64 2 (+.f64 (*.f64 (cos.f64 phi1) 1/2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) (*.f64 (cos.f64 phi1) 1/2)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) (*.f64 (cos.f64 phi1) 2)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)
(/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8))) 32)
Outputs
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 lambda1))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1))))
(+.f64 (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2))))))
(+.f64 (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))) (+.f64 (+.f64 (cos.f64 lambda1) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (cos.f64 phi1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1)) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) -1/2)))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 (cos.f64 lambda1) (+.f64 (+.f64 (*.f64 lambda2 (*.f64 (neg.f64 (sin.f64 lambda1)) -1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2))) (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (pow.f64 lambda2 3))))) (cos.f64 phi1)))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1)))) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 3) 1/6)) (cos.f64 lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda1) (+.f64 (+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1)) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))) (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 lambda1) -1/6)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 lambda1) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (cos.f64 phi1)))
(+.f64 (cos.f64 lambda2) (+.f64 (cos.f64 phi1) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 (cos.f64 lambda2) -1/2)) (+.f64 (cos.f64 lambda2) (+.f64 (cos.f64 phi1) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (*.f64 (pow.f64 lambda1 3) -1/6))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 (pow.f64 lambda1 2) (*.f64 (cos.f64 lambda2) -1/2)))) (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3)))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (+.f64 (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2))) (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) (*.f64 -1/2 (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) 1))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))
(+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) 1))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 1 (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2)))) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) 1))
(+.f64 (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 1 (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 1 (*.f64 -1/720 (pow.f64 phi1 6))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 0)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 phi1) 1/2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1/2) (*.f64 (cos.f64 phi1) 1/2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 1/2)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 1/4)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) (*.f64 (cos.f64 phi1) 2)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1/2) 2)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 1)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 2) 2)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 4) 4)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8) 8)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) 16)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)) 8))) 32)
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))

localize22.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
Compiler

Compiled 77 to 14 computations (81.8% saved)

series63.0ms (0.1%)

Counts
2 → 16
Calls

18 calls:

TimeVariablePointExpression
60.0ms
phi2
@inf
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
lambda1
@0
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
phi2
@0
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
phi2
@-inf
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
0.0ms
lambda1
@inf
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))

rewrite77.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1506×bool.json-1
1506×bool.json-2
1472×rational.json-1
1472×rational.json-2
1472×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01666
116266
244566
397366
4215766
5507666
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 phi2) (sin.f64 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))))))

simplify568.0ms (1.3%)

Algorithm
egg-herbie
Rules
1840×rational.json-simplify-35
1204×rational.json-simplify-2
1202×rational.json-simplify-26
936×rational.json-simplify-41
922×rational.json-simplify-42
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01131888
12401810
24851770
310001750
422141750
537391750
643211750
749471670
865691670
973131670
1079441670
Stop Event
node limit
Counts
40 → 62
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4))))))
(*.f64 (cos.f64 phi2) lambda1)
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 7))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5))))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)
(+.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)
(/.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 1)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 2)) 2)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)))) 16)
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (*.f64 lambda1 -1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (neg.f64 lambda1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (*.f64 lambda1 -1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (neg.f64 lambda1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (*.f64 lambda1 -1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (neg.f64 lambda1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (*.f64 lambda1 -1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 (neg.f64 lambda1) lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(sin.f64 lambda1)
(+.f64 (sin.f64 lambda1) (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 2) -1/2)))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 2) (*.f64 (sin.f64 lambda1) -1/2)))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4)))))
(+.f64 (sin.f64 lambda1) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 4) 1/24))))
(+.f64 (*.f64 (sin.f64 lambda1) (*.f64 1/24 (pow.f64 phi2 4))) (+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6))) (+.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 2))) (*.f64 1/24 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 4))))))
(+.f64 (sin.f64 lambda1) (+.f64 (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 4) 1/24))) (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 phi2 6) -1/720))))
(+.f64 (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 -1/2 (pow.f64 phi2 2))) (*.f64 (sin.f64 lambda1) (*.f64 1/24 (pow.f64 phi2 4)))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 -1/720 (pow.f64 phi2 6))) (sin.f64 lambda1)))
(+.f64 (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (sin.f64 lambda1) (*.f64 -1/720 (*.f64 (sin.f64 lambda1) (pow.f64 phi2 6)))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (sin.f64 lambda1) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 -1/720 (pow.f64 phi2 6))))))
(*.f64 (cos.f64 phi2) lambda1)
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 3) -1/6)))
(*.f64 (cos.f64 phi2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 3) -1/6)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 5) 1/120)) (*.f64 (cos.f64 phi2) lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/6 (pow.f64 lambda1 3))) (*.f64 (cos.f64 phi2) (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 7))) (*.f64 1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda1 5))))))
(+.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 3) -1/6)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 5) 1/120)) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda1 7) -1/5040)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/5040 (pow.f64 lambda1 7))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/6 (pow.f64 lambda1 3))) (*.f64 (cos.f64 phi2) (+.f64 lambda1 (*.f64 1/120 (pow.f64 lambda1 5))))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/5040 (pow.f64 lambda1 7)) (*.f64 1/120 (pow.f64 lambda1 5)))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/5040 (pow.f64 lambda1 7)) (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(*.f64 (cos.f64 phi2) (+.f64 lambda1 (+.f64 (*.f64 1/120 (pow.f64 lambda1 5)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) (*.f64 -1/5040 (pow.f64 lambda1 7))))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(+.f64 0 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)))
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(-.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 0)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(/.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) 1)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 2)) 2)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)) 4)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) 8)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda1) 4)))) 16)
(*.f64 (cos.f64 phi2) (sin.f64 lambda1))

localize77.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
0.3b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 126 to 60 computations (52.4% saved)

series9.0ms (0%)

Counts
2 → 48
Calls

24 calls:

TimeVariablePointExpression
2.0ms
phi1
@0
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
1.0ms
lambda2
@0
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
1.0ms
phi2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
1.0ms
phi1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
0.0ms
lambda2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))

rewrite84.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1704×bool.json-1
1704×bool.json-2
1664×rational.json-1
1664×rational.json-2
1156×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023116
1233116
2593116
31212116
42725116
55990116
Stop Event
node limit
Counts
2 → 28
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))))

simplify591.0ms (1.3%)

Algorithm
egg-herbie
Rules
1958×rational.json-simplify-51
1874×rational.json-simplify-35
1048×rational.json-simplify-1
950×rational.json-simplify-26
942×rational.json-simplify-2
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01575034
13715012
27234896
314514772
427244764
536594764
648164760
755514760
860804760
967124698
Stop Event
node limit
Counts
76 → 115
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(+.f64 1 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 3)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(*.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2))
(*.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 1))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)
(*.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 1/2)
(*.f64 1/2 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)
(/.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4))) 16)
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 0)
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(*.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 1))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)
(*.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1/2)
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)
(/.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4))) 16)
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda2 lambda1)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (-.f64 1 (*.f64 1/2 (pow.f64 phi2 2))) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))))
(+.f64 1 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 1 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 1 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) 1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) 1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (+.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (*.f64 -1/2 (pow.f64 phi1 2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) 1)) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))) 1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) -1)) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)) (*.f64 lambda2 (neg.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1)))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (neg.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1)))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))))
(+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) -1)) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (pow.f64 lambda2 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)) (*.f64 lambda2 (neg.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1)))))) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 lambda2 (neg.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1)))))) (*.f64 (cos.f64 lambda1) (+.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (pow.f64 lambda2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (neg.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))))))))
(+.f64 (*.f64 lambda2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (sin.f64 lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (sin.f64 lambda1))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))) (neg.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1)))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) (*.f64 -1 (*.f64 lambda2 (*.f64 (sin.f64 (neg.f64 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)) (+.f64 (+.f64 (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (pow.f64 lambda2 3)))) (+.f64 (cos.f64 phi1) (*.f64 lambda2 (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) -1)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (pow.f64 lambda2 2))))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (neg.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))))) (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) (*.f64 (pow.f64 lambda2 3) 1/6))))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (pow.f64 lambda2 3)) 1/6)) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 lambda2 (neg.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1)))))) (*.f64 (cos.f64 lambda1) (+.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (pow.f64 lambda2 2)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (neg.f64 (sin.f64 lambda1))) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (*.f64 (sin.f64 lambda1) (-.f64 -1 (*.f64 (pow.f64 phi2 2) -1/2))) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2)) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (cos.f64 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 lambda1 (sin.f64 lambda2))) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2))) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2))))))
(+.f64 (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2))) (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda1 2) -1/2))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (cos.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 2)))) (+.f64 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))) (pow.f64 lambda1 3)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(+.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 lambda1 (sin.f64 lambda2))) (+.f64 (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2))) (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda1 3) (sin.f64 lambda2))))) (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (pow.f64 lambda1 2) (cos.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 lambda2))) (+.f64 (*.f64 lambda1 (*.f64 (sin.f64 lambda2) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)) -1/6)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda2) (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3)))))) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (cos.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))))) (*.f64 (sin.f64 lambda2) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 lambda1 (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))
(*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))
(*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))
(*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1/2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 1/2 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(/.f64 (*.f64 2 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)))))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 0)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 1))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 1/2)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 2) 2)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 1)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(/.f64 (*.f64 2 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))) 2)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4) 4)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) 8)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2))))) 4))) 16)
(+.f64 (cos.f64 phi1) (*.f64 (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2)) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (pow.f64 phi2 2) -1/2))))

localize600.0ms (1.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
4.1b
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
Compiler

Compiled 115 to 18 computations (84.3% saved)

series10.0ms (0%)

Counts
3 → 120
Calls

30 calls:

TimeVariablePointExpression
1.0ms
phi2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
1.0ms
phi1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
1.0ms
lambda1
@-inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
1.0ms
lambda1
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
1.0ms
lambda2
@inf
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))

rewrite92.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1866×bool.json-1
1866×bool.json-2
1298×bool.json-3
884×rational.json-1
884×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021131
1212131
2566131
31277103
42946103
56602103
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))))

simplify1.1s (2.4%)

Algorithm
egg-herbie
Rules
1522×rational.json-simplify-35
1172×rational.json-simplify-26
956×rational.json-simplify-41
926×rational.json-simplify-2
796×rational.json-simplify-45
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02189074
15098772
211208542
323218356
441637712
549586860
666326860
775516860
879196860
Stop Event
node limit
Counts
168 → 206
Calls
Call 1
Inputs
(cos.f64 (-.f64 (PI.f64) lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1)))))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(cos.f64 (+.f64 lambda2 (PI.f64)))
(+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))) (+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))) (+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(+.f64 (*.f64 1/720 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1))))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 (PI.f64) lambda1))))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (cos.f64 phi1)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (+.f64 (cos.f64 phi1) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2)))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(+.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(+.f64 0 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(-.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(*.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 2 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(*.f64 2 (*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))) 16)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 0)
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(*.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))
(*.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))
(*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(*.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))
(*.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1/2)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))
(*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4))) 16)
Outputs
(cos.f64 (-.f64 (PI.f64) lambda1))
(neg.f64 (cos.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1)))
(+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))))
(*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(*.f64 -1 (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))
(neg.f64 (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 -1/2 (*.f64 (neg.f64 (cos.f64 lambda1)) (pow.f64 lambda2 2)))))
(+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) -1/2))))
(+.f64 (*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))) (*.f64 (pow.f64 lambda2 2) (*.f64 1/2 (cos.f64 lambda1))))
(+.f64 (neg.f64 (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))) (*.f64 (pow.f64 lambda2 2) (*.f64 1/2 (cos.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (cos.f64 (-.f64 (PI.f64) lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (cos.f64 lambda1)) (pow.f64 lambda2 2))) (+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))))
(+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (+.f64 (+.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) -1/2))) (*.f64 (sin.f64 lambda1) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2)) (*.f64 (sin.f64 lambda1) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (neg.f64 (cos.f64 lambda1)) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 1/2 (cos.f64 lambda1))) (*.f64 (sin.f64 lambda1) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2)))))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(cos.f64 (+.f64 lambda2 (PI.f64)))
(cos.f64 (+.f64 (PI.f64) lambda2))
(neg.f64 (cos.f64 lambda2))
(+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))
(+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2))))
(+.f64 (neg.f64 (cos.f64 lambda2)) (*.f64 lambda1 (sin.f64 (neg.f64 lambda2))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))) (+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1)))
(+.f64 (+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2))))
(+.f64 (+.f64 (neg.f64 (cos.f64 lambda2)) (*.f64 lambda1 (sin.f64 (neg.f64 lambda2)))) (*.f64 -1/2 (*.f64 (neg.f64 (cos.f64 lambda2)) (pow.f64 lambda1 2))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 3))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))) (+.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))))
(+.f64 (+.f64 (+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2)))) (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (pow.f64 lambda1 3) -1/6)))
(+.f64 (+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2)))) (+.f64 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 -1/6 (pow.f64 lambda1 3))) (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2)))))
(+.f64 (+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 -1/6 (pow.f64 lambda1 3)))))
(+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 (neg.f64 (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (neg.f64 (cos.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 1 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))))
(+.f64 1 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))))
(-.f64 1 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (cos.f64 phi2)))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 (-.f64 1 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (cos.f64 phi2))) (*.f64 -1/2 (pow.f64 phi1 2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (-.f64 1 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (cos.f64 phi2))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 1/24 (pow.f64 phi1 4))))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2)))) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) 1))
(+.f64 (+.f64 1 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (*.f64 -1/2 (pow.f64 phi1 2)))) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (-.f64 1 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))))
(+.f64 (cos.f64 phi1) (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0))))
(+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 2) 1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/2 (pow.f64 phi2 2)) -1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 -1 (*.f64 1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 2) 1/2)) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 4) -1/24))))
(+.f64 (+.f64 (cos.f64 phi1) (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 -1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 1/2 (pow.f64 phi2 2)))))
(+.f64 (+.f64 (cos.f64 phi1) (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/24 (pow.f64 phi2 4)) (*.f64 1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/24 (pow.f64 phi2 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 -1/24 (pow.f64 phi2 4)) (+.f64 -1 (*.f64 1/2 (pow.f64 phi2 2))))))
(+.f64 (*.f64 1/720 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 6))) (+.f64 (*.f64 -1/24 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 4))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 4) -1/24)) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 2) 1/2)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 (pow.f64 phi2 6) 1/720))))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 1/2 (pow.f64 phi2 2))) (+.f64 (+.f64 (+.f64 (cos.f64 phi1) (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 -1/24 (pow.f64 phi2 4)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (*.f64 1/720 (pow.f64 phi2 6)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/2 (pow.f64 phi2 2)) -1))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/720 (pow.f64 phi2 6)) (*.f64 -1/24 (pow.f64 phi2 4)))))
(+.f64 (+.f64 (cos.f64 phi1) (neg.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/2 (pow.f64 phi2 2)) (*.f64 -1/24 (pow.f64 phi2 4))))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/2 (pow.f64 phi2 2)) (*.f64 -1/24 (pow.f64 phi2 4))))))
(+.f64 (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))) (*.f64 (neg.f64 (cos.f64 (-.f64 lambda2 lambda1))) (+.f64 (*.f64 1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/2 (pow.f64 phi2 2)) (*.f64 -1/24 (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda1) 1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda1)))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2))) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (neg.f64 (neg.f64 (cos.f64 lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) 1))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1))))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 -1 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2))) (*.f64 (pow.f64 lambda2 2) (*.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2)) 1/2))) (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) lambda2)) (+.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2))) (*.f64 1/2 (*.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) (cos.f64 phi2))) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (cos.f64 phi2))) (+.f64 -1 (*.f64 (pow.f64 lambda2 2) 1/2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1)) (*.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (pow.f64 lambda2 2)) 1/2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (sin.f64 (-.f64 (PI.f64) lambda1)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 (PI.f64) lambda1))))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) lambda1)))))))))
(+.f64 (*.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 phi2)) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2))) (*.f64 (pow.f64 lambda2 2) (*.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2)) 1/2)))) (*.f64 (pow.f64 lambda2 3) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) -1/6))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) lambda2)) (+.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (neg.f64 (cos.f64 phi2))) (*.f64 1/2 (*.f64 (neg.f64 (cos.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))) (*.f64 -1/6 (*.f64 (sin.f64 lambda1) (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (*.f64 (cos.f64 lambda1) (neg.f64 (cos.f64 phi2))) (+.f64 -1 (*.f64 (pow.f64 lambda2 2) 1/2)))) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 lambda2 (*.f64 (pow.f64 lambda2 3) -1/6))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (*.f64 (neg.f64 (cos.f64 lambda1)) (cos.f64 phi2)) (+.f64 -1 (*.f64 (pow.f64 lambda2 2) 1/2))) (*.f64 (*.f64 (sin.f64 lambda1) (cos.f64 phi2)) (+.f64 lambda2 (*.f64 (pow.f64 lambda2 3) -1/6)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 (cos.f64 phi2))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 0))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (cos.f64 phi1)))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (cos.f64 phi2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2))) (neg.f64 (cos.f64 phi2))) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 lambda1)) (neg.f64 (cos.f64 (+.f64 (PI.f64) lambda2))))))
(+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 phi2)) (+.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 (+.f64 lambda2 0)) (*.f64 lambda1 (sin.f64 (+.f64 lambda2 0))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (+.f64 (cos.f64 phi1) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2)))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (cos.f64 phi2)))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2)) 1/2)) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 (cos.f64 phi2))) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (*.f64 (pow.f64 lambda1 2) (cos.f64 phi2)) 1/2))) (*.f64 (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2))) (neg.f64 (cos.f64 phi2)))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 (*.f64 lambda1 (cos.f64 phi2)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (pow.f64 lambda1 2) 1/2)) (neg.f64 (cos.f64 (+.f64 (PI.f64) lambda2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (neg.f64 (sin.f64 (+.f64 (PI.f64) lambda2)))) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 (+.f64 lambda2 0))) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 (neg.f64 (cos.f64 lambda2)) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) lambda1))) (+.f64 (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda2 (PI.f64))))) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (+.f64 lambda2 (PI.f64))) (*.f64 (cos.f64 phi2) (pow.f64 lambda1 3)))) (*.f64 1/2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda2 (PI.f64))) (pow.f64 lambda1 2))))))))
(+.f64 (*.f64 -1 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (cos.f64 phi2))) (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 2)) 1/2)) (*.f64 1/6 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (pow.f64 lambda1 3) (cos.f64 phi2)))))) (*.f64 -1 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 lambda1 (cos.f64 phi2))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (*.f64 (pow.f64 lambda1 2) (cos.f64 phi2)) 1/2)) (*.f64 1/6 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (pow.f64 lambda1 3) (cos.f64 phi2)))))) (*.f64 (*.f64 lambda1 (sin.f64 (+.f64 (PI.f64) lambda2))) (neg.f64 (cos.f64 phi2)))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (*.f64 (pow.f64 lambda1 2) 1/2)) (*.f64 1/6 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (pow.f64 lambda1 3)))))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (neg.f64 lambda1)) (neg.f64 (cos.f64 (+.f64 (PI.f64) lambda2))))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 (PI.f64) lambda2)) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))) (*.f64 (sin.f64 (+.f64 (PI.f64) lambda2)) (+.f64 (neg.f64 (*.f64 lambda1 (cos.f64 phi2))) (*.f64 1/6 (*.f64 (pow.f64 lambda1 3) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) (cos.f64 phi2)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 (neg.f64 (cos.f64 lambda2)) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2)))))))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) (+.f64 lambda2 (PI.f64)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (PI.f64) (+.f64 (*.f64 -1 lambda2) lambda1)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (neg.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (neg.f64 (cos.f64 phi2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))) 1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 -1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 (+.f64 lambda2 (PI.f64)) lambda1))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(+.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 0 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) 8)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))) 16)
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 0)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 2 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 2 (*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 1/2)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(*.f64 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4) 4)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) 8)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 2 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 2 (*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(*.f64 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))) (neg.f64 (cos.f64 phi2))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 (+.f64 lambda2 0)))) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))) (cos.f64 phi1)))

eval829.0ms (1.9%)

Compiler

Compiled 35315 to 13205 computations (62.6% saved)

prune722.0ms (1.6%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New1161181179
Fresh516
Picked101
Done404
Total1171191190
Error
0.4b
Counts
1190 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
6.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
20.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
15.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))))
15.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
20.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
13.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))))))
15.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
21.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
12.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
27.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
30.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
28.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
26.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
23.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
15.8b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
15.8b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Compiler

Compiled 858 to 566 computations (34% saved)

localize127.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
1.7b
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
2.2b
(cos.f64 (-.f64 lambda1 lambda2))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 130 to 53 computations (59.2% saved)

series2.0ms (0%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
0.0ms
lambda1
@0
(cos.f64 (-.f64 lambda1 lambda2))
0.0ms
lambda2
@0
(cos.f64 (-.f64 lambda1 lambda2))
0.0ms
lambda1
@0
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
0.0ms
lambda2
@0
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
0.0ms
lambda1
@0
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))

rewrite294.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1682×bool.json-1
1682×bool.json-2
1628×rational.json-1
1628×rational.json-2
1066×bool.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151
111551
232045
365443
4134443
5308643
6641943
Stop Event
node limit
Counts
3 → 85
Calls
Call 1
Inputs
(cos.f64 (-.f64 lambda1 lambda2))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))

simplify954.0ms (2.1%)

Algorithm
egg-herbie
Rules
1990×rational.json-simplify-35
1202×rational.json-simplify-2
1014×rational.json-simplify-1
960×rational.json-simplify-48
912×rational.json-simplify-52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02192955
14852875
212802809
325312757
440052757
560232757
670942757
776092757
Stop Event
node limit
Counts
141 → 205
Calls
Call 1
Inputs
(cos.f64 (neg.f64 lambda2))
(+.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 lambda1)
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1)))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1))))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(-.f64 1 (cos.f64 (neg.f64 lambda2)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (cos.f64 (neg.f64 lambda2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (cos.f64 (neg.f64 lambda2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))) (cos.f64 (neg.f64 lambda2)))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 lambda1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) 1) (cos.f64 lambda1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (cos.f64 lambda1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1)))))) (cos.f64 lambda1))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 lambda2)))
(+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 -1 (cos.f64 lambda1)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1 (cos.f64 lambda1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))))))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)
(+.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(+.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))
(+.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 1)
(+.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) -1)
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))
(-.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)
(-.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(-.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) 1)
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)
(*.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))
(*.f64 4 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 1/2)
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2))
(*.f64 1/4 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) 2)
(*.f64 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 2)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8))) 32)
(+.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(+.f64 -1 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)))
(+.f64 0 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)) -1)
(+.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(*.f64 1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(*.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(*.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(*.f64 1/4 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)
(*.f64 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(/.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)
(/.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) 4)
(neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(-.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))
(-.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(-.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(-.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(-.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(*.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(*.f64 4 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(*.f64 1/4 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)
(*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) -2)
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2)))
(cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))
(cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2))))
Outputs
(cos.f64 (neg.f64 lambda2))
(cos.f64 lambda2)
(+.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 lambda2) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (neg.f64 lambda1)))
(+.f64 (cos.f64 lambda2) (*.f64 (neg.f64 (sin.f64 lambda2)) (neg.f64 lambda1)))
(+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))
(+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (neg.f64 lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (neg.f64 lambda1)) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2)))))
(+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 -1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) 1/6))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (neg.f64 lambda1)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 1/6 (pow.f64 lambda1 3)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2))) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (neg.f64 lambda1)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2))) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 1/6 (pow.f64 lambda1 3)) (neg.f64 lambda1)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (neg.f64 lambda1) (*.f64 1/6 (pow.f64 lambda1 3))))))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1)))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1)))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1)))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))
(cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1)))
(cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))
(cos.f64 lambda1)
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (cos.f64 lambda1))
(+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1)))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2))) (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (cos.f64 lambda1))))
(+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2))) (+.f64 (cos.f64 lambda1) (*.f64 -1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))))
(+.f64 (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 (pow.f64 lambda2 3) -1/6)) (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 (+.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 lambda1)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(+.f64 (+.f64 (cos.f64 lambda1) (*.f64 -1/2 (*.f64 (cos.f64 lambda1) (pow.f64 lambda2 2)))) (*.f64 (sin.f64 lambda1) (+.f64 lambda2 (*.f64 -1/6 (pow.f64 lambda2 3)))))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1))
(cos.f64 (+.f64 (neg.f64 lambda2) lambda1))
(-.f64 1 (cos.f64 (neg.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(-.f64 (+.f64 1 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (cos.f64 (neg.f64 lambda2)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (-.f64 1 (cos.f64 lambda2)))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (-.f64 1 (cos.f64 lambda2)))
(-.f64 (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))) (cos.f64 (neg.f64 lambda2)))
(+.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2))) (-.f64 1 (cos.f64 lambda2)))
(+.f64 (-.f64 1 (cos.f64 lambda2)) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (-.f64 1 (cos.f64 lambda2))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (+.f64 (-.f64 1 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (+.f64 1 (-.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (cos.f64 lambda2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))) (cos.f64 (neg.f64 lambda2)))
(+.f64 (+.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2))) (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) -1/6))) (-.f64 1 (cos.f64 lambda2)))
(+.f64 1 (-.f64 (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) -1/6)) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)))) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (pow.f64 lambda1 3) -1/6) lambda1)) (cos.f64 lambda2))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6))) (cos.f64 lambda2))))
(+.f64 1 (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6))) (-.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (cos.f64 lambda2))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(-.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(-.f64 1 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(-.f64 1 (cos.f64 lambda1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) 1) (cos.f64 lambda1))
(+.f64 1 (-.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (cos.f64 lambda1)))
(+.f64 1 (-.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (cos.f64 lambda1)))
(+.f64 (-.f64 1 (cos.f64 lambda1)) (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))))
(-.f64 (-.f64 1 (*.f64 lambda2 (sin.f64 lambda1))) (cos.f64 lambda1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))))) (cos.f64 lambda1))
(+.f64 (+.f64 1 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2))) (-.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (cos.f64 lambda1)))
(+.f64 (+.f64 1 (*.f64 (cos.f64 lambda1) (*.f64 1/2 (pow.f64 lambda2 2)))) (-.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (cos.f64 lambda1)))
(+.f64 (-.f64 1 (cos.f64 lambda1)) (+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) 1/2))))
(+.f64 (-.f64 1 (*.f64 lambda2 (sin.f64 lambda1))) (-.f64 (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) 1/2)) (cos.f64 lambda1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1)))))) (cos.f64 lambda1))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2)) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))) (-.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (cos.f64 lambda1)))
(+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (-.f64 (+.f64 1 (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 1/2 (pow.f64 lambda2 2))) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))))) (cos.f64 lambda1)))
(+.f64 (-.f64 1 (cos.f64 lambda1)) (+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) 1/2)) (*.f64 (sin.f64 lambda1) (*.f64 1/6 (pow.f64 lambda2 3))))))
(+.f64 (-.f64 1 (cos.f64 lambda1)) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) 1/2)) (*.f64 (sin.f64 lambda1) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3))))))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(-.f64 1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 lambda2)))
(*.f64 (cos.f64 lambda2) -1)
(neg.f64 (cos.f64 lambda2))
(+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) -1))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (neg.f64 (cos.f64 lambda2)))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (neg.f64 (cos.f64 lambda2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) -1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (+.f64 (neg.f64 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 (pow.f64 lambda1 2) 1/2) -1)))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (+.f64 (*.f64 -1 (cos.f64 (neg.f64 lambda2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) -1/6)) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (*.f64 (cos.f64 lambda2) -1))))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 (pow.f64 lambda1 3) -1/6)) (+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1) (+.f64 (neg.f64 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 lambda1 2) 1/2)))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (pow.f64 lambda1 3) -1/6) lambda1)) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 (pow.f64 lambda1 2) 1/2) -1)))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 lambda1 (*.f64 (pow.f64 lambda1 3) -1/6))) (*.f64 (cos.f64 lambda2) (+.f64 -1 (*.f64 (pow.f64 lambda1 2) 1/2))))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(neg.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(neg.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(neg.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(*.f64 -1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))))
(*.f64 -1 (cos.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))
(neg.f64 (cos.f64 (+.f64 lambda2 (neg.f64 lambda1))))
(cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))
(*.f64 -1 (cos.f64 lambda1))
(neg.f64 (cos.f64 lambda1))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 -1 (cos.f64 lambda1)))
(+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (*.f64 -1 (cos.f64 lambda1)))
(*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(neg.f64 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1 (cos.f64 lambda1)) (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2)) (*.f64 -1 (cos.f64 lambda1))))
(+.f64 (*.f64 (cos.f64 lambda1) (*.f64 1/2 (pow.f64 lambda2 2))) (*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (+.f64 -1 (*.f64 (pow.f64 lambda2 2) 1/2))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 lambda1))) (+.f64 (*.f64 -1 (cos.f64 lambda1)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 lambda1))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 lambda1))))))
(+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) -1)) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) 1/2)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3))) (*.f64 -1 (cos.f64 lambda1)))))
(+.f64 (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 1/2 (pow.f64 lambda2 2))) (*.f64 1/6 (*.f64 (sin.f64 lambda1) (pow.f64 lambda2 3)))) (*.f64 -1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1)))))
(+.f64 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))) (+.f64 (*.f64 (sin.f64 lambda1) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 (cos.f64 lambda1) (+.f64 -1 (*.f64 (pow.f64 lambda2 2) 1/2)))))
(+.f64 (neg.f64 (cos.f64 lambda1)) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) 1/2)) (*.f64 (sin.f64 lambda1) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3))))))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(cos.f64 (+.f64 lambda1 (-.f64 (PI.f64) lambda2)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(cos.f64 (+.f64 lambda1 (-.f64 (PI.f64) lambda2)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(cos.f64 (+.f64 lambda1 (-.f64 (PI.f64) lambda2)))
(*.f64 -1 (cos.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))
(*.f64 -1 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(neg.f64 (cos.f64 (+.f64 (neg.f64 lambda2) lambda1)))
(cos.f64 (+.f64 lambda1 (-.f64 (PI.f64) lambda2)))
(+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) -1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(-.f64 (cos.f64 (-.f64 lambda1 lambda2)) 0)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(-.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(-.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1) 1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 4 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 1/2)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 1/4)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 1/2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 1/4 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4))
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1/2) 2)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(*.f64 (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) 2)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 4) 4)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8) 8)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) 16)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8)) (*.f64 2 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 8))) 32)
(cos.f64 (-.f64 lambda1 lambda2))
(cos.f64 (-.f64 lambda2 lambda1))
(+.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 -1 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 0 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -2)) -1)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 4 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/4 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) -1)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)) -2)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1) 4) -4)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) 2)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))) (neg.f64 (*.f64 2 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)))) 4)
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(neg.f64 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))
(-.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) 1))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 -1 (+.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 0)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 0 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 -1 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 1/2)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 4 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 1/4)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/4 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1/2) 2)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (cos.f64 (-.f64 lambda1 lambda2)) -1)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 1)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2) 2)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) 2) -2)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 4) 4)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8) 8)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) 16)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 (-.f64 lambda1 lambda2))) 8))) 32)
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(neg.f64 (cos.f64 (-.f64 lambda1 lambda2)))
(neg.f64 (cos.f64 (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2)))
(cos.f64 (+.f64 (-.f64 lambda1 lambda2) (PI.f64)))
(cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1))))
(cos.f64 (+.f64 (PI.f64) (-.f64 lambda2 lambda1)))
(cos.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 lambda1 lambda2))))
(cos.f64 (+.f64 (-.f64 lambda1 lambda2) (PI.f64)))

localize21.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
0.6b
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 56 to 12 computations (78.6% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
lambda1
@0
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
0.0ms
lambda1
@-inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
0.0ms
lambda2
@-inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
0.0ms
lambda1
@inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
0.0ms
lambda2
@inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))

rewrite68.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1490×bool.json-1
1490×bool.json-2
1454×rational.json-1
1454×rational.json-2
1454×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01337
113137
237337
381737
4188237
5476337
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))))))

simplify186.0ms (0.4%)

Algorithm
egg-herbie
Rules
2072×rational.json-simplify-26
1714×rational.json-simplify-35
958×rational.json-simplify-2
922×rational.json-simplify-1
838×rational.json-simplify-42
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0602036
11182004
22532004
35502004
411652004
524042004
634032004
751322004
860232004
970732004
1077942004
Stop Event
node limit
Counts
52 → 26
Calls
Call 1
Inputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)
(+.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(-.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)
(*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)
(*.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2) 2)
(/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))) 16)
Outputs
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) (cos.f64 phi1)))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (*.f64 lambda1 -1)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda2 (neg.f64 lambda1)))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(+.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(-.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 0)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 1/2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 1/4)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1/2) 2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 2) 2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4) 4)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) 8)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))) 4))) 16)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 (-.f64 lambda1 lambda2))))

localize113.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.5b
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 61 to 13 computations (78.7% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

18 calls:

TimeVariablePointExpression
0.0ms
phi1
@0
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
0.0ms
lambda2
@0
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
phi1
@0
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))

rewrite255.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1616×bool.json-1
1616×bool.json-2
1582×rational.json-1
1582×rational.json-2
1582×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01556
115256
242756
395556
4219356
5535656
Stop Event
node limit
Counts
2 → 30
Calls
Call 1
Inputs
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))))

simplify218.0ms (0.5%)

Algorithm
egg-herbie
Rules
2118×rational.json-simplify-2
1464×rational.json-simplify-26
1182×rational.json-simplify-35
1036×rational.json-simplify-1
1002×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01071562
12231546
24861546
310291546
419941546
531061546
635581546
746511546
853391546
962091546
1072151546
Stop Event
node limit
Counts
46 → 70
Calls
Call 1
Inputs
(+.f64 1 (cos.f64 lambda2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2)))))
(+.f64 1 (cos.f64 phi1))
(+.f64 1 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2))))
(+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 1 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 1 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(-.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 0)
(*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)
(*.f64 1 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)
Outputs
(+.f64 1 (cos.f64 lambda2))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2)))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (cos.f64 lambda2)))
(+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2)))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2))))
(+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (cos.f64 lambda2)))))
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (cos.f64 lambda2)))) (*.f64 -1/720 (pow.f64 phi1 6)))
(+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))))
(+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi1 6))))))
(+.f64 1 (cos.f64 phi1))
(+.f64 1 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2))))
(+.f64 (+.f64 1 (cos.f64 phi1)) (*.f64 -1/2 (pow.f64 lambda2 2)))
(+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 1 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 1 (+.f64 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2))) (*.f64 1/24 (pow.f64 lambda2 4))))
(+.f64 (+.f64 (cos.f64 phi1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) 1))
(+.f64 1 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 1/24 (pow.f64 lambda2 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (+.f64 (cos.f64 phi1) (*.f64 1/24 (pow.f64 lambda2 4)))))
(+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 1 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 1 (+.f64 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 -1/720 (pow.f64 lambda2 6)))) (*.f64 1/24 (pow.f64 lambda2 4))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 -1/720 (pow.f64 lambda2 6))))))
(+.f64 1 (+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 -1/720 (pow.f64 lambda2 6))) (*.f64 1/24 (pow.f64 lambda2 4)))))
(+.f64 1 (+.f64 (cos.f64 phi1) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 -1/720 (pow.f64 lambda2 6))))))
(+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (+.f64 (cos.f64 phi1) (*.f64 -1/720 (pow.f64 lambda2 6))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(-.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 0)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 1 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 1/2)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 1/4)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1/2) 2)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(/.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 1)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 2) 2)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4) 4)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) 8)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (cos.f64 lambda2)) 4))) 16)
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 lambda2) (cos.f64 phi1)))

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.4b
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 70 to 20 computations (71.4% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

15 calls:

TimeVariablePointExpression
0.0ms
phi2
@0
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
0.0ms
lambda2
@0
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
phi2
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))

rewrite105.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1554×bool.json-1
1554×bool.json-2
1516×rational.json-1
1516×rational.json-2
1516×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01568
115868
244068
393868
4208868
5512968
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))))

simplify197.0ms (0.4%)

Algorithm
egg-herbie
Rules
2250×rational.json-simplify-2
1444×rational.json-simplify-26
1154×rational.json-simplify-35
1020×rational.json-simplify-1
994×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01191967
12651951
25641951
311431911
423441891
535131891
640211891
751401891
858271891
966761891
1076691891
Stop Event
node limit
Counts
47 → 85
Calls
Call 1
Inputs
(+.f64 1 (cos.f64 lambda2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (cos.f64 lambda2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 1 (cos.f64 phi2))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 1 (+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 1 (+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(-.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) -1)
(-.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(*.f64 1 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(*.f64 4 (/.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(*.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 1/2)
(*.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2))
(*.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(/.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(/.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 2)
(/.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
Outputs
(+.f64 1 (cos.f64 lambda2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (cos.f64 lambda2)))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 1 (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 4) (*.f64 (cos.f64 lambda2) 1/24))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (+.f64 1 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 4) 1/24))) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 1 (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 1 (+.f64 (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 4) (*.f64 (cos.f64 lambda2) 1/24))) (*.f64 -1/720 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 6)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 2) -1/2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 4) 1/24))) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 (pow.f64 phi2 6) -1/720)) 1)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6))) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 (+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4)))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))) (+.f64 1 (cos.f64 lambda2)))
(+.f64 (cos.f64 lambda2) (-.f64 (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))) -1))
(+.f64 (cos.f64 lambda2) (+.f64 1 (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 1 (cos.f64 phi2))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2)))))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2))))
(+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 1 (+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))) (cos.f64 phi2))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi2) (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (cos.f64 phi2) (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))))))
(+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 1/24 (pow.f64 lambda2 4)))))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 1 (+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(+.f64 1 (+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))) (*.f64 -1/720 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 6)))))))
(+.f64 1 (+.f64 (*.f64 -1/720 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 6))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi2) (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4)))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (cos.f64 phi2) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))) (*.f64 -1/720 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 6)))))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 1/24 (pow.f64 lambda2 4)))))))
(+.f64 (cos.f64 phi2) (+.f64 1 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (*.f64 1/24 (pow.f64 lambda2 4)))))))
(+.f64 1 (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 1/24 (pow.f64 lambda2 4)))))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (*.f64 -1 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 lambda2 (neg.f64 lambda1))))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 lambda2 -1)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(-.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) -1)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(-.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 1 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 4 (/.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2))))
(*.f64 1/2 (+.f64 2 (*.f64 2 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))))
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 lambda2) (*.f64 2 (cos.f64 phi2)))))
(*.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2))
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2))))
(*.f64 1/2 (+.f64 2 (*.f64 2 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))))
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 lambda2) (*.f64 2 (cos.f64 phi2)))))
(*.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(/.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(/.f64 (+.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2) 2)
(/.f64 (+.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2))) 2)
(/.f64 (+.f64 2 (*.f64 2 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))) 2)
(/.f64 (+.f64 2 (*.f64 (cos.f64 lambda2) (*.f64 2 (cos.f64 phi2)))) 2)
(/.f64 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2)))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 lambda2) (cos.f64 phi2))))

localize21.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
0.2b
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.2b
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.5b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
Compiler

Compiled 70 to 14 computations (80% saved)

series4.0ms (0%)

Counts
3 → 48
Calls

21 calls:

TimeVariablePointExpression
1.0ms
phi2
@inf
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.0ms
lambda2
@0
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.0ms
lambda2
@-inf
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.0ms
phi2
@0
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.0ms
lambda2
@inf
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))

rewrite83.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1680×bool.json-1
1680×bool.json-2
1642×rational.json-1
1642×rational.json-2
1234×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01583
115883
245183
3101183
4233483
5567983
Stop Event
node limit
Counts
3 → 32
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))

simplify253.0ms (0.6%)

Algorithm
egg-herbie
Rules
2080×rational.json-simplify-2
1700×rational.json-simplify-52
1606×rational.json-simplify-35
1020×rational.json-simplify-26
794×rational.json-simplify-1
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01513344
13373336
26973300
314383208
425843206
534283206
640513200
752083200
858773200
962083200
1064423200
1171833200
Stop Event
node limit
Counts
80 → 110
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 -1 (*.f64 lambda2 (cos.f64 phi2)))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))) (*.f64 -1/120 (*.f64 (pow.f64 lambda2 5) (cos.f64 phi2)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 lambda2 7) (cos.f64 phi2))) (*.f64 -1/120 (*.f64 (pow.f64 lambda2 5) (cos.f64 phi2))))))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(sin.f64 (neg.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2))))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 4))) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 6))) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2))))))
(cos.f64 lambda2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (cos.f64 lambda2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(cos.f64 phi2)
(+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(-.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)
(+.f64 0 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)))
(-.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)
(/.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 1)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -2)) 2)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)
(+.f64 0 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(-.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)
(/.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 1)
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4))) 16)
Outputs
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 -1 (*.f64 lambda2 (cos.f64 phi2)))
(*.f64 lambda2 (*.f64 (cos.f64 phi2) -1))
(*.f64 lambda2 (neg.f64 (cos.f64 phi2)))
(*.f64 (neg.f64 lambda2) (cos.f64 phi2))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))))
(+.f64 (*.f64 lambda2 (*.f64 (cos.f64 phi2) -1)) (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))))
(+.f64 (*.f64 lambda2 (neg.f64 (cos.f64 phi2))) (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))))
(*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2)))
(*.f64 (cos.f64 phi2) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))) (*.f64 -1/120 (*.f64 (pow.f64 lambda2 5) (cos.f64 phi2)))))
(+.f64 (*.f64 lambda2 (*.f64 (cos.f64 phi2) -1)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))) (*.f64 -1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 5)))))
(+.f64 (*.f64 lambda2 (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 (cos.f64 phi2) (*.f64 -1/120 (pow.f64 lambda2 5)))))
(+.f64 (*.f64 lambda2 (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 -1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 5)))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/120 (pow.f64 lambda2 5)) (neg.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 lambda2) (*.f64 -1/120 (pow.f64 lambda2 5)))))
(+.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/120 (pow.f64 lambda2 5)) (*.f64 1/6 (pow.f64 lambda2 3)))))
(+.f64 (*.f64 -1 (*.f64 lambda2 (cos.f64 phi2))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (cos.f64 phi2))) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 lambda2 7) (cos.f64 phi2))) (*.f64 -1/120 (*.f64 (pow.f64 lambda2 5) (cos.f64 phi2))))))
(+.f64 (*.f64 lambda2 (*.f64 (cos.f64 phi2) -1)) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 5))) (*.f64 (pow.f64 lambda2 7) (*.f64 (cos.f64 phi2) 1/5040)))))
(+.f64 (*.f64 lambda2 (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/120 (pow.f64 lambda2 5))) (*.f64 (cos.f64 phi2) (*.f64 1/5040 (pow.f64 lambda2 7))))))
(+.f64 (*.f64 lambda2 (neg.f64 (cos.f64 phi2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/6 (pow.f64 lambda2 3))) (+.f64 (*.f64 -1/120 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 5))) (*.f64 1/5040 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 7))))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/5040 (pow.f64 lambda2 7)) (*.f64 -1/120 (pow.f64 lambda2 5)))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/120 (pow.f64 lambda2 5)) (*.f64 1/5040 (pow.f64 lambda2 7)))))
(+.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/120 (pow.f64 lambda2 5)) (*.f64 1/6 (pow.f64 lambda2 3)))) (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 lambda2) (*.f64 1/5040 (pow.f64 lambda2 7)))))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(*.f64 (sin.f64 (*.f64 -1 lambda2)) (cos.f64 phi2))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(sin.f64 (neg.f64 lambda2))
(neg.f64 (sin.f64 lambda2))
(+.f64 (sin.f64 (neg.f64 lambda2)) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2)))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 2) (*.f64 (sin.f64 lambda2) 1/2)))
(*.f64 (sin.f64 lambda2) (+.f64 -1 (*.f64 -1 (*.f64 -1/2 (pow.f64 phi2 2)))))
(*.f64 (sin.f64 lambda2) (+.f64 -1 (neg.f64 (*.f64 -1/2 (pow.f64 phi2 2)))))
(*.f64 (sin.f64 lambda2) (-.f64 -1 (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 4))) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 4) 1/24)) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi2 2))) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 (pow.f64 phi2 2) (*.f64 1/2 (sin.f64 lambda2))) (*.f64 (sin.f64 lambda2) (-.f64 -1 (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 4))) (+.f64 (*.f64 -1/720 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 6))) (*.f64 -1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 phi2 2))))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 4) 1/24)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 2) -1/2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (pow.f64 phi2 6) -1/720)))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 -1/720 (*.f64 (neg.f64 (sin.f64 lambda2)) (pow.f64 phi2 6))))))
(+.f64 (*.f64 (pow.f64 phi2 2) (*.f64 (sin.f64 lambda2) 1/2)) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/720 (pow.f64 phi2 6)))) (neg.f64 (sin.f64 lambda2))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (neg.f64 (sin.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(cos.f64 lambda2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (cos.f64 lambda2))
(+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))))
(+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))) (*.f64 (pow.f64 phi2 6) (*.f64 (cos.f64 lambda2) -1/720)))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6))))))
(+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 1/24 (pow.f64 phi2 4))))))
(cos.f64 phi2)
(+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))))
(+.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)))
(+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))
(+.f64 (cos.f64 phi2) (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4)))))
(+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 1/24 (pow.f64 lambda2 4)) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (+.f64 (+.f64 (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)) (*.f64 (pow.f64 lambda2 6) (*.f64 (cos.f64 phi2) -1/720))) (cos.f64 phi2)))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 1/24 (pow.f64 lambda2 4))) (*.f64 (cos.f64 phi2) (*.f64 -1/720 (pow.f64 lambda2 6))))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 4))) (*.f64 (cos.f64 phi2) (*.f64 -1/720 (pow.f64 lambda2 6))))))
(+.f64 (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 phi2) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 phi2) (pow.f64 lambda2 2))) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 -1/720 (pow.f64 lambda2 6)) (*.f64 1/24 (pow.f64 lambda2 4))))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(atan2.f64 (*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1)))
(+.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(+.f64 0 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)))
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(-.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 0)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(/.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) 1)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -2)) 2)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)) 4)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(/.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) 8)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4))) (*.f64 2 (*.f64 (cos.f64 phi2) (*.f64 (sin.f64 lambda2) -4)))) 16)
(*.f64 (neg.f64 (sin.f64 lambda2)) (cos.f64 phi2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(+.f64 0 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(-.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 0)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(/.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 1)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(/.f64 (*.f64 (cos.f64 phi2) (*.f64 (cos.f64 lambda2) 2)) 2)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(/.f64 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4) 4)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) 8)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) 4))) 16)
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))

eval1.1s (2.5%)

Compiler

Compiled 28711 to 11589 computations (59.6% saved)

prune1.5s (3.3%)

Pruning

33 alts after pruning (31 fresh and 2 done)

PrunedKeptTotal
New1042251067
Fresh8614
Picked011
Done314
Total1053331086
Error
0.4b
Counts
1086 → 33
Alt Table
Click to see full alt table
StatusErrorProgram
21.2b
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
19.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
6.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
18.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
16.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
21.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))))))
12.8b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
20.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))))))
20.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
13.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
1.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
21.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
12.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
19.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
21.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
21.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
28.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
30.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
26.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
26.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
26.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
21.9b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
16.2b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
21.7b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
16.2b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
22.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
22.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
29.4b
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
19.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
18.6b
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
26.6b
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
Compiler

Compiled 1310 to 898 computations (31.5% saved)

localize42.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.f64 -1 (-.f64 1 (cos.f64 lambda2)))
0.5b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))
2.0b
(-.f64 1 (cos.f64 lambda2))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 114 to 53 computations (53.5% saved)

series2.0ms (0%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
0.0ms
lambda2
@0
(-.f64 1 (cos.f64 lambda2))
0.0ms
phi1
@0
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))
0.0ms
phi2
@0
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))
0.0ms
lambda2
@0
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))
0.0ms
lambda2
@inf
(-.f64 1 (cos.f64 lambda2))

rewrite80.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1430×bool.json-1
1430×bool.json-2
1388×rational.json-1
1388×rational.json-2
1388×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01669
116969
245857
396945
4218045
5497445
Stop Event
node limit
Counts
3 → 64
Calls
Call 1
Inputs
(-.f64 1 (cos.f64 lambda2))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))
(+.f64 -1 (-.f64 1 (cos.f64 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cos.f64 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 -1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 1 (cos.f64 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (cos.f64 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (cos.f64 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 -1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 1 (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 1 (cos.f64 lambda2)) (-.f64 1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 1 (cos.f64 lambda2)) (-.f64 1 (cos.f64 lambda2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 -1 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (cos.f64 lambda2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cos.f64 lambda2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 (+.f64 -1 (cos.f64 lambda2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (cos.f64 lambda2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 lambda2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (neg.f64 (cos.f64 lambda2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (neg.f64 (cos.f64 lambda2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 lambda2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 lambda2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 lambda2))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 (PI.f64) lambda2))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 (PI.f64) (neg.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (cos.f64 lambda2)) (neg.f64 (cos.f64 lambda2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (cos.f64 lambda2)) (neg.f64 (cos.f64 lambda2)))))))

simplify233.0ms (0.5%)

Algorithm
egg-herbie
Rules
2404×rational.json-simplify-2
1870×rational.json-simplify-1
1696×rational.json-simplify-35
1172×rational.json-simplify-26
720×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01852542
13972442
28952442
319862402
433072402
541922402
652322402
759922402
867662402
971252402
1072792402
Stop Event
node limit
Counts
116 → 138
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 lambda2 2))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2)))
(+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2))))
(+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 -1/40320 (pow.f64 lambda2 8)) (*.f64 1/2 (pow.f64 lambda2 2)))))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi2) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
-1
(-.f64 (*.f64 1/2 (pow.f64 lambda2 2)) 1)
(-.f64 (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2))) 1)
(-.f64 (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2)))) 1)
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(+.f64 (-.f64 1 (cos.f64 lambda2)) 0)
(+.f64 -1 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))))
(+.f64 0 (-.f64 1 (cos.f64 lambda2)))
(+.f64 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))) -1)
(+.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))
(*.f64 1 (-.f64 1 (cos.f64 lambda2)))
(*.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(*.f64 -1 (+.f64 -1 (cos.f64 lambda2)))
(*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))
(*.f64 4 (/.f64 (-.f64 1 (cos.f64 lambda2)) 4))
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 1/2)
(*.f64 (+.f64 -1 (cos.f64 lambda2)) -1)
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2))
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) 2)
(/.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(/.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 2)
(/.f64 (+.f64 -1 (cos.f64 lambda2)) -1)
(/.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 4)
(/.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2)))) 2)
(neg.f64 (+.f64 -1 (cos.f64 lambda2)))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(-.f64 1 (+.f64 1 (cos.f64 lambda2)))
(-.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(-.f64 -1 (+.f64 -1 (cos.f64 lambda2)))
(-.f64 (neg.f64 (cos.f64 lambda2)) 0)
(-.f64 0 (cos.f64 lambda2))
(-.f64 -2 (+.f64 (+.f64 -1 (cos.f64 lambda2)) -1))
(-.f64 (-.f64 -1 (cos.f64 lambda2)) -1)
(*.f64 1 (neg.f64 (cos.f64 lambda2)))
(*.f64 (neg.f64 (cos.f64 lambda2)) 1)
(*.f64 (cos.f64 lambda2) -1)
(*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2))
(*.f64 4 (/.f64 (neg.f64 (cos.f64 lambda2)) 4))
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 1/2)
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 1/4)
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 lambda2)) 2))
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2) 2)
(/.f64 (neg.f64 (cos.f64 lambda2)) 1)
(/.f64 (cos.f64 lambda2) -1)
(/.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 2)
(/.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4))) 16)
(neg.f64 (cos.f64 lambda2))
(cos.f64 (-.f64 (PI.f64) lambda2))
(cos.f64 (-.f64 (PI.f64) (neg.f64 lambda2)))
Outputs
(*.f64 1/2 (pow.f64 lambda2 2))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2)))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 -1/24 (pow.f64 lambda2 4)))
(+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2))))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 1/720 (pow.f64 lambda2 6))))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/720 (pow.f64 lambda2 6))))
(+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 -1/40320 (pow.f64 lambda2 8)) (*.f64 1/2 (pow.f64 lambda2 2)))))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 -1/40320 (pow.f64 lambda2 8))) (*.f64 1/720 (pow.f64 lambda2 6))))
(+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 -1/40320 (pow.f64 lambda2 8)))))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 1/720 (pow.f64 lambda2 6))) (*.f64 -1/40320 (pow.f64 lambda2 8))))
(+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 -1/40320 (pow.f64 lambda2 8)))))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/40320 (pow.f64 lambda2 8)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/720 (pow.f64 lambda2 6)))))
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 -1/2 (pow.f64 phi1 2))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4)))) (+.f64 1 (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (*.f64 1/24 (pow.f64 phi1 4))))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
(+.f64 (cos.f64 lambda2) (cos.f64 phi1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (cos.f64 lambda2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4)))) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4))) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (pow.f64 phi2 2)) (*.f64 1/24 (pow.f64 phi2 4))))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 1/24 (pow.f64 phi2 4)) (*.f64 -1/2 (pow.f64 phi2 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 phi2 2) (cos.f64 lambda2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 phi2 6) (cos.f64 lambda2))) (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (pow.f64 phi2 4) (cos.f64 lambda2)))))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 2))) (+.f64 (cos.f64 phi1) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4)))) (*.f64 -1/720 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 6))))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4)))) (+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6))) (cos.f64 phi1))))
(+.f64 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 phi2 2))) (+.f64 (+.f64 (+.f64 (cos.f64 lambda2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4)))) (*.f64 (cos.f64 lambda2) (*.f64 -1/720 (pow.f64 phi2 6)))))
(+.f64 (+.f64 (+.f64 (cos.f64 lambda2) (cos.f64 phi1)) (*.f64 (cos.f64 lambda2) (*.f64 1/24 (pow.f64 phi2 4)))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (+.f64 (cos.f64 phi1) (+.f64 (cos.f64 lambda2) (*.f64 1/24 (*.f64 (cos.f64 lambda2) (pow.f64 phi2 4))))) (*.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/720 (pow.f64 phi2 6)) (*.f64 -1/2 (pow.f64 phi2 2)))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (cos.f64 phi1))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2))))
(+.f64 (cos.f64 phi1) (+.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2))))))
(+.f64 (cos.f64 phi1) (+.f64 (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24))) (cos.f64 phi2)))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 4) 1/24) (*.f64 (pow.f64 lambda2 2) -1/2))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) -1/2) (*.f64 (pow.f64 lambda2 4) 1/24))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) -1/2) (*.f64 (pow.f64 lambda2 4) 1/24)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 phi2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 lambda2 6) (cos.f64 phi2))) (*.f64 1/24 (*.f64 (pow.f64 lambda2 4) (cos.f64 phi2)))))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (+.f64 (+.f64 (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)) (*.f64 (pow.f64 lambda2 6) (*.f64 (cos.f64 phi2) -1/720))) (cos.f64 phi1))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (+.f64 (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)) (*.f64 (pow.f64 lambda2 6) (*.f64 (cos.f64 phi2) -1/720))))))
(+.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (+.f64 (+.f64 (cos.f64 phi1) (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24))) (*.f64 (cos.f64 phi2) (*.f64 (pow.f64 lambda2 6) -1/720)))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 6) -1/720) (*.f64 (pow.f64 lambda2 2) -1/2)))))
(+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (+.f64 (*.f64 (pow.f64 lambda2 4) (*.f64 (cos.f64 phi2) 1/24)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 2) -1/2) (*.f64 (pow.f64 lambda2 6) -1/720)))))
(+.f64 (cos.f64 phi2) (+.f64 (cos.f64 phi1) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 phi2) -1/2)) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (pow.f64 lambda2 6) -1/720) (*.f64 (pow.f64 lambda2 4) 1/24))))))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
-1
(-.f64 (*.f64 1/2 (pow.f64 lambda2 2)) 1)
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) -1)
(-.f64 (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2))) 1)
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (-.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) 1))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) -1))
(-.f64 (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (*.f64 1/2 (pow.f64 lambda2 2)))) 1)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 -1/24 (pow.f64 lambda2 4))) (-.f64 (*.f64 1/720 (pow.f64 lambda2 6)) 1))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (*.f64 -1/24 (pow.f64 lambda2 4))) (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) -1))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) -1) (*.f64 1/720 (pow.f64 lambda2 6))))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) -1)))
(+.f64 (*.f64 1/2 (pow.f64 lambda2 2)) (+.f64 (*.f64 -1/24 (pow.f64 lambda2 4)) (+.f64 (*.f64 1/720 (pow.f64 lambda2 6)) -1)))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(*.f64 -1 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(+.f64 (-.f64 1 (cos.f64 lambda2)) 0)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(+.f64 -1 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(+.f64 0 (-.f64 1 (cos.f64 lambda2)))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(+.f64 (-.f64 1 (+.f64 -1 (cos.f64 lambda2))) -1)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(+.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 1 (-.f64 1 (cos.f64 lambda2)))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 -1 (+.f64 -1 (cos.f64 lambda2)))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 4 (/.f64 (-.f64 1 (cos.f64 lambda2)) 4))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 1/2)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 (+.f64 -1 (cos.f64 lambda2)) -1)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 1/4)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 1/2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(*.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 1/2) 2)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 2) 2)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (+.f64 -1 (cos.f64 lambda2)) -1)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4) 4)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2))) -2)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) 8)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (-.f64 1 (cos.f64 lambda2)) 4))) 16)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(/.f64 (neg.f64 (*.f64 2 (+.f64 -1 (cos.f64 lambda2)))) 2)
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(neg.f64 (+.f64 -1 (cos.f64 lambda2)))
(+.f64 1 (neg.f64 (cos.f64 lambda2)))
(-.f64 1 (cos.f64 lambda2))
(-.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 0)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 1 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 4 (/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 1/2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 1/4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2))
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(*.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1/2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 1)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 2) 2)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4) 4)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) 8)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))) 4))) 16)
(+.f64 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)) (cos.f64 phi1))
(-.f64 1 (+.f64 1 (cos.f64 lambda2)))
(neg.f64 (cos.f64 lambda2))
(-.f64 (-.f64 1 (cos.f64 lambda2)) 1)
(neg.f64 (cos.f64 lambda2))
(-.f64 -1 (+.f64 -1 (cos.f64 lambda2)))
(neg.f64 (cos.f64 lambda2))
(-.f64 (neg.f64 (cos.f64 lambda2)) 0)
(neg.f64 (cos.f64 lambda2))
(-.f64 0 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(-.f64 -2 (+.f64 (+.f64 -1 (cos.f64 lambda2)) -1))
(neg.f64 (cos.f64 lambda2))
(-.f64 (-.f64 -1 (cos.f64 lambda2)) -1)
(neg.f64 (cos.f64 lambda2))
(*.f64 1 (neg.f64 (cos.f64 lambda2)))
(neg.f64 (cos.f64 lambda2))
(*.f64 (neg.f64 (cos.f64 lambda2)) 1)
(neg.f64 (cos.f64 lambda2))
(*.f64 (cos.f64 lambda2) -1)
(neg.f64 (cos.f64 lambda2))
(*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2))
(neg.f64 (cos.f64 lambda2))
(*.f64 4 (/.f64 (neg.f64 (cos.f64 lambda2)) 4))
(neg.f64 (cos.f64 lambda2))
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 1/2)
(neg.f64 (cos.f64 lambda2))
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 1/4)
(neg.f64 (cos.f64 lambda2))
(*.f64 1/2 (*.f64 (neg.f64 (cos.f64 lambda2)) 2))
(neg.f64 (cos.f64 lambda2))
(*.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 1/2) 2)
(neg.f64 (cos.f64 lambda2))
(/.f64 (neg.f64 (cos.f64 lambda2)) 1)
(neg.f64 (cos.f64 lambda2))
(/.f64 (cos.f64 lambda2) -1)
(neg.f64 (cos.f64 lambda2))
(/.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 2) 2)
(neg.f64 (cos.f64 lambda2))
(/.f64 (*.f64 (neg.f64 (cos.f64 lambda2)) 4) 4)
(neg.f64 (cos.f64 lambda2))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) 8)
(neg.f64 (cos.f64 lambda2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4)) (*.f64 2 (*.f64 (neg.f64 (cos.f64 lambda2)) 4))) 16)
(neg.f64 (cos.f64 lambda2))
(neg.f64 (cos.f64 lambda2))
(cos.f64 (-.f64 (PI.f64) lambda2))
(neg.f64 (cos.f64 lambda2))
(cos.f64 (-.f64 (PI.f64) (neg.f64 lambda2)))
(neg.f64 (cos.f64 lambda2))

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
0.7b
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
2.2b
(cos.f64 (-.f64 lambda2 lambda1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 51 to 18 computations (64.7% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
lambda2
@0
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
0.0ms
lambda1
@0
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
0.0ms
lambda2
@-inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
0.0ms
lambda1
@-inf
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
0.0ms
lambda1
@-inf
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)

rewrite93.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1380×bool.json-1
1380×bool.json-2
1340×rational.json-1
1340×rational.json-2
1340×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01250
112550
235750
375550
4168750
5432950
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))))))

simplify252.0ms (0.6%)

Algorithm
egg-herbie
Rules
1906×rational.json-simplify-51
1602×rational.json-simplify-35
1148×rational.json-simplify-26
998×rational.json-simplify-1
992×rational.json-simplify-2
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01242513
12742491
26652481
313312461
423132461
531202461
642822461
750412461
855832461
962982419
Stop Event
node limit
Counts
83 → 85
Calls
Call 1
Inputs
(+.f64 1 (cos.f64 (neg.f64 lambda1)))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1))))))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 lambda2))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(-.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1)
(-.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 0)
(*.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
(*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2))
(*.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))
(*.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 1/2)
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 1/4)
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)
(/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)
(/.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))) 16)
(+.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)
(+.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(-.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)
(*.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)
(*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2))
(*.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 1/2)
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2))
(*.f64 1/4 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2) 2)
(*.f64 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)
(/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 2)
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))) 16)
Outputs
(+.f64 1 (cos.f64 (neg.f64 lambda1)))
(+.f64 1 (cos.f64 lambda1))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1))))))
(+.f64 1 (+.f64 (cos.f64 lambda1) (*.f64 -1 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1))))))
(+.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (neg.f64 lambda2)) (+.f64 1 (cos.f64 lambda1)))
(+.f64 1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1))))
(+.f64 1 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1)))))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1)))) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) -1/2)) (cos.f64 lambda1))))
(+.f64 (cos.f64 lambda1) (+.f64 1 (+.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (neg.f64 lambda2)) (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) -1/2)))))
(+.f64 1 (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1)) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 1 (+.f64 (+.f64 (cos.f64 lambda1) (*.f64 lambda2 (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2)))))
(+.f64 1 (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 lambda2 (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 1 (+.f64 (cos.f64 (neg.f64 lambda1)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 lambda2 3) (sin.f64 (neg.f64 lambda1)))) (+.f64 (*.f64 -1 (*.f64 lambda2 (sin.f64 (neg.f64 lambda1)))) (*.f64 -1/2 (*.f64 (pow.f64 lambda2 2) (cos.f64 (neg.f64 lambda1))))))))
(+.f64 1 (+.f64 (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (pow.f64 lambda2 3))) (+.f64 (*.f64 -1 (*.f64 lambda2 (neg.f64 (sin.f64 lambda1)))) (+.f64 (*.f64 (pow.f64 lambda2 2) (*.f64 (cos.f64 lambda1) -1/2)) (cos.f64 lambda1)))))
(+.f64 (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (neg.f64 lambda2)) (*.f64 (cos.f64 lambda1) (*.f64 (pow.f64 lambda2 2) -1/2)))) (-.f64 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (pow.f64 lambda2 3) 1/6)) -1))
(+.f64 1 (+.f64 (cos.f64 lambda1) (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (*.f64 lambda2 (*.f64 (sin.f64 lambda1) 1)) (*.f64 (pow.f64 lambda2 3) (*.f64 (sin.f64 lambda1) -1/6))))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 lambda1) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (*.f64 1/6 (pow.f64 lambda2 3)) (neg.f64 lambda2))))))
(+.f64 1 (+.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 lambda1) (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))))
(+.f64 (*.f64 (cos.f64 lambda1) (*.f64 -1/2 (pow.f64 lambda2 2))) (+.f64 (cos.f64 lambda1) (+.f64 1 (*.f64 (neg.f64 (sin.f64 lambda1)) (+.f64 (neg.f64 lambda2) (*.f64 1/6 (pow.f64 lambda2 3)))))))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 1 (cos.f64 lambda2))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)))
(+.f64 1 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))))
(+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 lambda1 (sin.f64 lambda2)))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))))
(+.f64 1 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))))
(+.f64 1 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2))))))
(+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (+.f64 1 (cos.f64 lambda2)) (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 lambda2) (pow.f64 lambda1 3))) (+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (*.f64 (sin.f64 lambda2) lambda1)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))) (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2)))) (*.f64 (sin.f64 lambda2) (*.f64 (pow.f64 lambda1 3) -1/6))))
(+.f64 1 (+.f64 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2))))) (*.f64 (pow.f64 lambda1 3) (*.f64 -1/6 (sin.f64 lambda2)))))
(+.f64 1 (+.f64 (cos.f64 lambda2) (+.f64 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3))))))
(+.f64 (cos.f64 lambda2) (+.f64 (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3))) (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 lambda2) (*.f64 -1/2 (pow.f64 lambda1 2)))))))
(+.f64 (+.f64 1 (cos.f64 lambda2)) (+.f64 (+.f64 (*.f64 lambda1 (sin.f64 lambda2)) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 lambda2) (*.f64 -1/6 (pow.f64 lambda1 3)))))
(+.f64 1 (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 -1/2 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 2)))) (*.f64 (sin.f64 lambda2) (+.f64 (*.f64 -1/6 (pow.f64 lambda1 3)) lambda1))))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1)
(+.f64 1 (cos.f64 (+.f64 lambda1 (*.f64 -1 lambda2))))
(+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2))) (+.f64 (cos.f64 (+.f64 (*.f64 -1 lambda1) lambda2)) 1))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(atan2.f64 (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1)) (+.f64 1 (cos.f64 (neg.f64 (+.f64 (*.f64 -1 lambda2) lambda1)))))
(atan2.f64 (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 1 (cos.f64 (+.f64 (neg.f64 lambda1) lambda2))))
(atan2.f64 (sin.f64 (+.f64 lambda1 (neg.f64 lambda2))) (+.f64 1 (cos.f64 (+.f64 lambda1 (neg.f64 lambda2)))))
(-.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(-.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 0)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (cos.f64 (-.f64 lambda2 lambda1)))))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 1/4)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2))
(*.f64 1/2 (+.f64 2 (*.f64 2 (cos.f64 (-.f64 lambda2 lambda1)))))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1/2) 2)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(*.f64 (/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 1)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) 2) 2) 2)
(/.f64 (+.f64 2 (*.f64 2 (cos.f64 (-.f64 lambda2 lambda1)))) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4) 4)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) 8)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4)) (*.f64 2 (*.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) 4))) 16)
(+.f64 1 (cos.f64 (-.f64 lambda2 lambda1)))
(+.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(+.f64 0 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(-.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 0)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 4 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 1/2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 1/4)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 1/2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 1/4 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1/2) 2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(*.f64 (/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(/.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 1)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 2) 2)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(/.f64 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4) 4)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) 8)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4)) (*.f64 2 (*.f64 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)) 4))) 16)
(atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 (-.f64 lambda2 lambda1))))

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2)))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
0.5b
(+.f64 1 (cos.f64 phi1))
2.2b
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 57 to 19 computations (66.7% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

15 calls:

TimeVariablePointExpression
0.0ms
phi1
@0
(+.f64 1 (cos.f64 phi1))
0.0ms
lambda1
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
0.0ms
lambda2
@inf
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
0.0ms
phi2
@0
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))

rewrite72.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1542×bool.json-1
1542×bool.json-2
1504×rational.json-1
1504×rational.json-2
1504×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01548
115748
243948
393648
4208948
5506348
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(+.f64 1 (cos.f64 phi1))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 phi1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 phi1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (cos.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (cos.f64 phi1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (cos.f64 phi1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (cos.f64 phi1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (cos.f64 phi1)) (+.f64 1 (cos.f64 phi1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (cos.f64 phi1)) (+.f64 1 (cos.f64 phi1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))))))

simplify157.0ms (0.4%)

Algorithm
egg-herbie
Rules
2044×rational.json-simplify-2
1460×rational.json-simplify-35
1438×rational.json-simplify-26
946×rational.json-simplify-51
794×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921265
11731249
23711249
38421249
418521249
529301249
633961249
745011249
851521249
959601249
1068681249
Stop Event
node limit
Counts
43 → 51
Calls
Call 1
Inputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(-.f64 (cos.f64 phi1) -1)
(-.f64 (+.f64 1 (cos.f64 phi1)) 0)
(*.f64 1 (+.f64 1 (cos.f64 phi1)))
(*.f64 (+.f64 1 (cos.f64 phi1)) 1)
(*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2))
(*.f64 4 (/.f64 (+.f64 1 (cos.f64 phi1)) 4))
(*.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 1/2)
(*.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 1/4)
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) 2))
(*.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2) 2)
(/.f64 (+.f64 1 (cos.f64 phi1)) 1)
(/.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 2)
(/.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4))) 16)
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))) 16)
Outputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 2 (*.f64 1/24 (pow.f64 phi1 4))))
(+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 2 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (+.f64 2 (*.f64 1/24 (pow.f64 phi1 4))) (*.f64 -1/720 (pow.f64 phi1 6))))
(+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 -1/720 (pow.f64 phi1 6)) (+.f64 2 (*.f64 1/24 (pow.f64 phi1 4)))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 phi1 2)) (+.f64 (*.f64 1/24 (pow.f64 phi1 4)) (*.f64 -1/720 (pow.f64 phi1 6)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 (+.f64 (*.f64 -1 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 (+.f64 (neg.f64 lambda1) lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 (*.f64 -1 lambda2) lambda1))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (*.f64 -1 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda1 (neg.f64 lambda2)))) (+.f64 1 (cos.f64 phi1)))
(-.f64 (cos.f64 phi1) -1)
(+.f64 1 (cos.f64 phi1))
(-.f64 (+.f64 1 (cos.f64 phi1)) 0)
(+.f64 1 (cos.f64 phi1))
(*.f64 1 (+.f64 1 (cos.f64 phi1)))
(+.f64 1 (cos.f64 phi1))
(*.f64 (+.f64 1 (cos.f64 phi1)) 1)
(+.f64 1 (cos.f64 phi1))
(*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2))
(+.f64 1 (cos.f64 phi1))
(*.f64 4 (/.f64 (+.f64 1 (cos.f64 phi1)) 4))
(+.f64 1 (cos.f64 phi1))
(*.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 2 (cos.f64 phi1))))
(*.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 1/4)
(+.f64 1 (cos.f64 phi1))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 phi1) 2) 2))
(*.f64 1/2 (+.f64 2 (*.f64 2 (cos.f64 phi1))))
(*.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 1/2) 2)
(+.f64 1 (cos.f64 phi1))
(/.f64 (+.f64 1 (cos.f64 phi1)) 1)
(+.f64 1 (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 (cos.f64 phi1) 2) 2) 2)
(/.f64 (+.f64 2 (*.f64 2 (cos.f64 phi1))) 2)
(/.f64 (*.f64 (+.f64 1 (cos.f64 phi1)) 4) 4)
(+.f64 1 (cos.f64 phi1))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) 8)
(+.f64 1 (cos.f64 phi1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4)) (*.f64 2 (*.f64 (+.f64 1 (cos.f64 phi1)) 4))) 16)
(+.f64 1 (cos.f64 phi1))
(+.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(+.f64 0 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(-.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(/.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1)))

localize19.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.2b
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.5b
(+.f64 (cos.f64 phi1) (cos.f64 lambda2))
Compiler

Compiled 56 to 13 computations (76.8% saved)

series4.0ms (0%)

Counts
1 → 4
Calls

9 calls:

TimeVariablePointExpression
3.0ms
phi1
@inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
lambda2
@0
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
lambda2
@inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
0.0ms
phi1
@-inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))

rewrite72.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1630×bool.json-1
1630×bool.json-2
1592×rational.json-1
1592×rational.json-2
1200×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01439
114839
243139
397239
4231739
5554839
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))))

simplify189.0ms (0.4%)

Algorithm
egg-herbie
Rules
1848×rational.json-simplify-52
1586×rational.json-simplify-35
1520×rational.json-simplify-1
1016×rational.json-simplify-26
978×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049820
198780
2219780
3490780
41030780
52038780
62728780
73393780
83844780
94200780
104562780
115003780
125568780
136498780
Stop Event
node limit
Counts
20 → 19
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(-.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(-.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 phi2) (cos.f64 lambda2))
0.2b
(*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2))
0.2b
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.4b
(+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))
Compiler

Compiled 65 to 20 computations (69.2% saved)

series1.0ms (0%)

Counts
1 → 4
Calls

6 calls:

TimeVariablePointExpression
0.0ms
lambda2
@0
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
lambda2
@-inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
lambda2
@inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
phi2
@inf
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
0.0ms
phi2
@0
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))

rewrite74.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1574×bool.json-1
1574×bool.json-2
1532×rational.json-1
1532×rational.json-2
1532×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01445
115345
243545
394945
4220245
5528945
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))))

simplify218.0ms (0.5%)

Algorithm
egg-herbie
Rules
1696×rational.json-simplify-35
1490×rational.json-simplify-1
1308×rational.json-simplify-26
1056×rational.json-simplify-2
1012×rational.json-simplify-52
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048940
197900
2212900
3474900
4999900
51965900
62624900
73251900
83674900
94009900
104328900
114776900
125391900
136341900
147545900
Stop Event
node limit
Counts
20 → 19
Calls
Call 1
Inputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(-.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
Outputs
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(+.f64 0 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(-.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 0)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 1 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 1/2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 4 (/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 1/4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 1/2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(*.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1/2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(/.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 1)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 2) 2)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(/.f64 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4) 4)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) 8)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4)) (*.f64 2 (*.f64 (atan2.f64 (*.f64 (sin.f64 lambda2) (neg.f64 (cos.f64 phi2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))) 4))) 16)
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (*.f64 -1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))
(atan2.f64 (*.f64 (cos.f64 phi2) (neg.f64 (sin.f64 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))

eval309.0ms (0.7%)

Compiler

Compiled 21406 to 9924 computations (53.6% saved)

prune462.0ms (1%)

Pruning

38 alts after pruning (34 fresh and 4 done)

PrunedKeptTotal
New84220862
Fresh121426
Picked011
Done336
Total85738895
Error
0.4b
Counts
895 → 38
Alt Table
Click to see full alt table
StatusErrorProgram
24.6b
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
23.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))))))
19.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
6.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
18.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
16.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
22.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
22.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
21.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
25.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
24.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
12.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
27.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
12.8b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
20.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
13.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
21.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
23.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
12.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
19.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
24.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
28.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
30.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
6.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
26.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
27.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
22.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
22.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
24.8b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
22.5b
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
29.4b
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
29.7b
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
18.6b
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
19.1b
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
23.4b
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
26.6b
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
28.5b
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
Compiler

Compiled 746 to 523 computations (29.9% saved)

regimes524.0ms (1.2%)

Counts
76 → 1
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (neg.f64 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 1 (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) (*.f64 -1/2 (cos.f64 phi2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (+.f64 1 (*.f64 -1/2 (pow.f64 phi2 2)))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 lambda2))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (+.f64 -1 (-.f64 1 (cos.f64 (-.f64 lambda1 lambda2)))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 (cos.f64 lambda2) lambda1))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (+.f64 (cos.f64 lambda2) (*.f64 lambda1 (sin.f64 lambda2))) (cos.f64 phi2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (+.f64 (cos.f64 phi2) (cos.f64 phi1)) (*.f64 (cos.f64 phi2) (*.f64 -1/2 (pow.f64 lambda2 2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (neg.f64 (sin.f64 lambda2)) (*.f64 lambda1 (cos.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (neg.f64 (cos.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (*.f64 (cos.f64 phi2) (*.f64 lambda2 (neg.f64 (neg.f64 (sin.f64 lambda1))))) (+.f64 (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (cos.f64 phi2)) (*.f64 (pow.f64 lambda2 2) -1/2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 lambda1) (cos.f64 phi2)))) (*.f64 1/6 (*.f64 (neg.f64 (sin.f64 lambda1)) (*.f64 (cos.f64 phi2) (pow.f64 lambda2 3))))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
Calls

7 calls:

113.0ms
(cos.f64 phi2)
100.0ms
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
97.0ms
phi2
89.0ms
(cos.f64 phi1)
34.0ms
lambda2
Results
ErrorSegmentsBranch
0.5b1lambda1
0.5b1lambda2
0.5b1phi1
0.5b1phi2
0.5b1(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b1(cos.f64 phi2)
0.5b1(cos.f64 phi1)
Compiler

Compiled 1402 to 436 computations (68.9% saved)

regimes4.1s (9.2%)

Counts
55 → 1
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Calls

6 calls:

1.9s
phi2
1.9s
(cos.f64 phi2)
123.0ms
lambda2
94.0ms
phi1
28.0ms
lambda1
Results
ErrorSegmentsBranch
1.1b1lambda1
1.1b1lambda2
1.1b1phi1
1.1b1phi2
1.1b1(cos.f64 phi2)
1.1b1(cos.f64 phi1)
Compiler

Compiled 861 to 259 computations (69.9% saved)

regimes1.9s (4.2%)

Counts
53 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Calls

6 calls:

855.0ms
(cos.f64 phi2)
395.0ms
lambda2
390.0ms
phi2
121.0ms
(cos.f64 phi1)
72.0ms
phi1
Results
ErrorSegmentsBranch
5.8b2lambda1
1.2b3lambda2
2.8b3phi1
2.6b4phi2
3.7b2(cos.f64 phi2)
2.8b2(cos.f64 phi1)
Compiler

Compiled 824 to 255 computations (69.1% saved)

bsearch683.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
675.0ms
3.477465594211647e-141
2.5147442018890746e-131
8.0ms
-1.878658334919248e-22
-2.3399742870126476e-24
Results
454.0ms46×body512valid
140.0ms77×body1024valid
86.0ms53×body256valid
Compiler

Compiled 493 to 328 computations (33.5% saved)

regimes2.1s (4.7%)

Counts
51 → 2
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (pow.f64 phi2 2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) -1/2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1)))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
Calls

6 calls:

1.1s
phi1
699.0ms
(cos.f64 phi1)
142.0ms
phi2
68.0ms
lambda2
63.0ms
lambda1
Results
ErrorSegmentsBranch
10.7b3lambda1
7.0b3lambda2
6.2b3phi1
6.4b3phi2
6.4b2(cos.f64 phi2)
6.1b2(cos.f64 phi1)
Compiler

Compiled 789 to 251 computations (68.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9958051089498464
0.9960383145601761
Compiler

Compiled 31 to 20 computations (35.5% saved)

regimes350.0ms (0.8%)

Counts
47 → 4
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
Calls

6 calls:

80.0ms
phi1
77.0ms
phi2
58.0ms
lambda2
58.0ms
lambda1
33.0ms
(cos.f64 phi2)
Results
ErrorSegmentsBranch
11.3b3lambda1
7.0b3lambda2
6.7b3phi1
5.5b4phi2
6.6b2(cos.f64 phi2)
6.7b2(cos.f64 phi1)
Compiler

Compiled 712 to 230 computations (67.7% saved)

bsearch233.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
107.0ms
4.768272250605505e+183
3.304415474242162e+192
58.0ms
4.110447635952261e-20
1.4610601533302046e-18
67.0ms
-0.0005301600338029286
-8.644918279058954e-9
Results
171.0ms224×body1024valid
27.0ms58×body512valid
22.0ms97×body256valid
7.0msbody2048valid
Compiler

Compiled 1024 to 692 computations (32.4% saved)

regimes255.0ms (0.6%)

Counts
45 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) lambda1) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Calls

6 calls:

55.0ms
phi1
55.0ms
lambda2
55.0ms
phi2
30.0ms
(cos.f64 phi2)
28.0ms
(cos.f64 phi1)
Results
ErrorSegmentsBranch
13.9b1lambda1
7.0b3lambda2
9.7b3phi1
7.0b3phi2
7.3b2(cos.f64 phi2)
10.2b2(cos.f64 phi1)
Compiler

Compiled 678 to 224 computations (67% saved)

bsearch277.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
185.0ms
163590444394804400.0
8.925171276005565e+21
91.0ms
-647800278187812700.0
-10363085.682594502
Results
221.0ms142×body1024valid
29.0ms61×body512valid
21.0ms85×body256valid
Compiler

Compiled 749 to 514 computations (31.4% saved)

regimes683.0ms (1.5%)

Counts
41 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
Calls

6 calls:

235.0ms
lambda2
216.0ms
phi2
122.0ms
(cos.f64 phi1)
52.0ms
phi1
28.0ms
(cos.f64 phi2)
Results
ErrorSegmentsBranch
13.9b1lambda1
8.0b3lambda2
12.9b2phi1
7.3b3phi2
7.3b2(cos.f64 phi2)
13.9b1(cos.f64 phi1)
Compiler

Compiled 611 to 208 computations (66% saved)

bsearch249.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
67.0ms
10687.211234470296
1480162.8776409985
182.0ms
-1.988163185996311e+22
-12860914.710999545
Results
134.0ms131×body256valid
87.0ms105×body1024valid
16.0ms32×body512valid
7.0msbody2048valid
Compiler

Compiled 694 to 462 computations (33.4% saved)

regimes1.2s (2.6%)

Counts
38 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
Calls

6 calls:

779.0ms
lambda1
190.0ms
phi1
80.0ms
lambda2
48.0ms
phi2
30.0ms
(cos.f64 phi1)
Results
ErrorSegmentsBranch
13.4b3lambda1
11.6b5lambda2
12.3b3phi1
9.4b3phi2
10.0b2(cos.f64 phi2)
13.1b2(cos.f64 phi1)
Compiler

Compiled 564 to 202 computations (64.2% saved)

bsearch260.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
108.0ms
1480162.8776409985
1988223.7986841737
152.0ms
-1.988163185996311e+22
-12860914.710999545
Results
192.0ms117×body256valid
46.0ms59×body1024valid
14.0ms29×body512valid
4.0msbody2048valid
Compiler

Compiled 525 to 358 computations (31.8% saved)

regimes279.0ms (0.6%)

Counts
33 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (+.f64 lambda2 (-.f64 (PI.f64) lambda1))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 lambda2) (*.f64 (sin.f64 lambda2) lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 2 (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1) (*.f64 -1/2 (pow.f64 phi1 2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))
Calls

6 calls:

94.0ms
lambda1
44.0ms
phi1
42.0ms
phi2
42.0ms
lambda2
25.0ms
(cos.f64 phi2)
Results
ErrorSegmentsBranch
15.8b1lambda1
12.9b3lambda2
12.5b3phi1
10.0b3phi2
10.0b2(cos.f64 phi2)
13.4b2(cos.f64 phi1)
Compiler

Compiled 490 to 189 computations (61.4% saved)

bsearch152.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1480162.8776409985
1988223.7986841737
129.0ms
-1.988163185996311e+22
-12860914.710999545
Results
71.0ms105×body256valid
59.0ms73×body1024valid
17.0ms29×body512valid
1.0msbody2048valid
Compiler

Compiled 525 to 358 computations (31.8% saved)

regimes203.0ms (0.5%)

Counts
21 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi1))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
Calls

6 calls:

120.0ms
phi2
31.0ms
phi1
16.0ms
(cos.f64 phi2)
11.0ms
lambda1
10.0ms
lambda2
Results
ErrorSegmentsBranch
15.8b1lambda1
15.8b1lambda2
14.4b3phi1
12.4b3phi2
12.4b2(cos.f64 phi2)
15.8b1(cos.f64 phi1)
Compiler

Compiled 301 to 123 computations (59.1% saved)

bsearch102.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1480162.8776409985
1988223.7986841737
77.0ms
-1.988163185996311e+22
-12860914.710999545
Results
57.0ms71×body1024valid
27.0ms108×body256valid
15.0ms29×body512valid
Compiler

Compiled 512 to 358 computations (30.1% saved)

regimes103.0ms (0.2%)

Counts
18 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))
Calls

6 calls:

29.0ms
phi1
26.0ms
phi2
16.0ms
(cos.f64 phi2)
9.0ms
lambda1
9.0ms
lambda2
Results
ErrorSegmentsBranch
16.2b1lambda1
16.2b1lambda2
14.7b3phi1
12.8b3phi2
12.8b2(cos.f64 phi2)
16.2b1(cos.f64 phi1)
Compiler

Compiled 259 to 113 computations (56.4% saved)

bsearch106.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1480162.8776409985
1988223.7986841737
81.0ms
-1.988163185996311e+22
-12860914.710999545
Results
59.0ms74×body1024valid
25.0ms105×body256valid
14.0ms27×body512valid
4.0msbody2048valid
Compiler

Compiled 486 to 345 computations (29% saved)

regimes57.0ms (0.1%)

Counts
16 → 2
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 lambda1)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (*.f64 (neg.f64 lambda2) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 lambda2))))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Calls

6 calls:

13.0ms
(cos.f64 phi2)
9.0ms
phi1
8.0ms
phi2
8.0ms
lambda1
8.0ms
lambda2
Results
ErrorSegmentsBranch
16.2b1lambda1
16.2b1lambda2
16.2b1phi1
16.2b1phi2
15.2b2(cos.f64 phi2)
16.2b1(cos.f64 phi1)
Compiler

Compiled 232 to 105 computations (54.7% saved)

bsearch9.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
0.06566958050094268
0.07183224136244276
Results
3.0msbody1024valid
2.0msbody256valid
2.0msbody512valid
1.0msbody2048valid
Compiler

Compiled 62 to 43 computations (30.6% saved)

regimes67.0ms (0.2%)

Counts
10 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Calls

6 calls:

17.0ms
phi1
17.0ms
lambda2
10.0ms
(cos.f64 phi2)
9.0ms
(cos.f64 phi1)
6.0ms
lambda1
Results
ErrorSegmentsBranch
19.1b1lambda1
15.8b3lambda2
17.5b3phi1
19.1b1phi2
18.0b2(cos.f64 phi2)
17.5b2(cos.f64 phi1)
Compiler

Compiled 156 to 83 computations (46.8% saved)

bsearch176.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
85.0ms
3.477465594211647e-141
2.5147442018890746e-131
91.0ms
-647800278187812700.0
-10363085.682594502
Results
113.0ms143×body1024valid
31.0ms68×body512valid
28.0ms109×body256valid
Compiler

Compiled 691 to 500 computations (27.6% saved)

regimes122.0ms (0.3%)

Counts
9 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1))))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))
Calls

6 calls:

63.0ms
lambda1
16.0ms
lambda2
15.0ms
phi1
10.0ms
(cos.f64 phi1)
9.0ms
(cos.f64 phi2)
Results
ErrorSegmentsBranch
19.1b1lambda1
16.2b3lambda2
17.5b3phi1
19.1b1phi2
18.0b2(cos.f64 phi2)
17.5b2(cos.f64 phi1)
Compiler

Compiled 144 to 80 computations (44.4% saved)

bsearch331.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
137.0ms
3.477465594211647e-141
2.5147442018890746e-131
193.0ms
-647800278187812700.0
-10363085.682594502
Results
191.0ms154×body1024valid
85.0ms78×body512valid
51.0ms88×body256valid
Compiler

Compiled 671 to 500 computations (25.5% saved)

regimes59.0ms (0.1%)

Counts
7 → 2
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (+.f64 (-.f64 1 (sin.f64 (-.f64 lambda2 lambda1))) -1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
Calls

6 calls:

14.0ms
phi1
14.0ms
lambda2
9.0ms
(cos.f64 phi2)
7.0ms
(cos.f64 phi1)
5.0ms
phi2
Results
ErrorSegmentsBranch
21.7b1lambda1
19.4b3lambda2
19.1b3phi1
21.7b1phi2
20.6b2(cos.f64 phi2)
19.1b2(cos.f64 phi1)
Compiler

Compiled 121 to 72 computations (40.5% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
0.9872572788943481
0.9945070625842032
Compiler

Compiled 31 to 20 computations (35.5% saved)

regimes123.0ms (0.3%)

Counts
5 → 3
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))
Calls

6 calls:

87.0ms
lambda2
12.0ms
phi1
7.0ms
(cos.f64 phi1)
7.0ms
(cos.f64 phi2)
4.0ms
phi2
Results
ErrorSegmentsBranch
22.1b1lambda1
19.4b3lambda2
19.5b3phi1
22.1b1phi2
21.0b2(cos.f64 phi2)
19.5b2(cos.f64 phi1)
Compiler

Compiled 91 to 59 computations (35.2% saved)

bsearch556.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
292.0ms
163590444394804400.0
8.925171276005565e+21
264.0ms
-1.2160922460384032e+68
-2.320111396227487e+62
Results
501.0ms148×body1024valid
40.0ms82×body512valid
11.0ms42×body256valid
Compiler

Compiled 575 to 428 computations (25.6% saved)

regimes19.0ms (0%)

Accuracy

Total -6.5b remaining (-29%)

Threshold costs -6.5b (-29%)

Counts
3 → 1
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda1) 1)))
Outputs
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
Calls

5 calls:

4.0ms
lambda2
3.0ms
lambda1
3.0ms
phi1
3.0ms
phi2
3.0ms
(cos.f64 phi1)
Results
ErrorSegmentsBranch
22.5b1lambda1
22.5b1lambda2
22.5b1phi1
22.5b1phi2
22.5b1(cos.f64 phi1)
Compiler

Compiled 63 to 44 computations (30.2% saved)

simplify21.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01422126
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(if (<=.f64 lambda2 -4253529586511731/42535295865117307932921825928971026432) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 lambda2 1248699420126397/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 (cos.f64 phi1) 2242792614430507/2251799813685248) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi2 -4722366482869645/147573952589676412928) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 phi2 1882207611218875/1298074214633706907132624082305024) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (if (<=.f64 phi2 185000000000000009466160321934301451822573013010155356692412778084094443286023850391007659657740101382139163592181781007921950117269062725150731218022708093675195071957384121269151049036333056) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 170000000000000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (if (<=.f64 phi2 11000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -80000000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -42000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 (cos.f64 phi2) 1188950301625811/18014398509481984) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2)) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 1248699420126397/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 5993757216606705/399583814440447005616844445413525287135820562261116307309972090832047582568929999375399181192126972308457847183540047730617340886948900519205142528) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))
(if (<=.f64 (cos.f64 phi1) 4458563631096791/4503599627370496) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))
(if (<=.f64 lambda2 -239999999999999999270894012945443576537562558239179508602109952) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1))) (if (<=.f64 lambda2 170000000000000000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
Outputs
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))
(if (<=.f64 lambda2 -4253529586511731/42535295865117307932921825928971026432) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 lambda2 1248699420126397/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 (cos.f64 phi1) 2242792614430507/2251799813685248) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1)))))))
(if (<=.f64 phi2 -4722366482869645/147573952589676412928) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (if (<=.f64 phi2 1882207611218875/1298074214633706907132624082305024) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (if (<=.f64 phi2 185000000000000009466160321934301451822573013010155356692412778084094443286023850391007659657740101382139163592181781007921950117269062725150731218022708093675195071957384121269151049036333056) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2))))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 170000000000000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (*.f64 (cos.f64 phi2) (cos.f64 lambda2)))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (if (<=.f64 phi2 11000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi2) (cos.f64 phi1))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 (cos.f64 phi2) (cos.f64 phi1)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -13000000) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -80000000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 phi2 -42000000) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2)))) (if (<=.f64 phi2 1500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (+.f64 lambda1 (atan2.f64 (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 phi2)) (+.f64 1 (cos.f64 phi2))))))
(if (<=.f64 (cos.f64 phi2) 1188950301625811/18014398509481984) (+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) 2)) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 1248699420126397/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))
(if (<=.f64 lambda2 -10500000) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2)))) (if (<=.f64 lambda2 5993757216606705/399583814440447005616844445413525287135820562261116307309972090832047582568929999375399181192126972308457847183540047730617340886948900519205142528) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (neg.f64 lambda2)) (+.f64 (cos.f64 phi1) (cos.f64 lambda2))))))
(if (<=.f64 (cos.f64 phi1) 4458563631096791/4503599627370496) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1))))
(if (<=.f64 lambda2 -239999999999999999270894012945443576537562558239179508602109952) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1))) (if (<=.f64 lambda2 170000000000000000) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1)))) (+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 (cos.f64 lambda2) 1)))))
(+.f64 lambda1 (atan2.f64 (sin.f64 (-.f64 lambda1 lambda2)) (+.f64 1 (cos.f64 phi1))))
(+.f64 lambda1 (atan2.f64 (sin.f64 lambda1) (+.f64 (cos.f64 (-.f64 lambda2 lambda1)) 1)))
Compiler

Compiled 783 to 417 computations (46.7% saved)

soundness0.0ms (0%)

end253.0ms (0.6%)

Compiler

Compiled 715 to 206 computations (71.2% saved)

Profiling

Loading profile data...