Details

Time bar (total: 17.3s)

analyze2.8s (16.1%)

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

Compiled 25 to 15 computations (40% saved)

sample7.9s (45.4%)

Alt Table
StatusErrorProgram
1.0b
(+.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))))))
Results
5.6s4600×body1024valid
1.2s1832×body512valid
359.0ms136×body2048valid
347.0ms757×body256valid
225.0ms931×body128valid
Compiler

Compiled 122 to 72 computations (41% saved)

localize16.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 lambda1 lambda2)))))
0.5b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))
3.1b
(sin.f64 (-.f64 lambda1 lambda2))

series48.0ms (0.3%)

Counts
4 → 112
Calls

4 calls:

30.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
9.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
307×expm1-udef_binary64
307×log1p-udef_binary64
168×add-sqr-sqrt_binary64
159×log1p-expm1-u_binary64
159×expm1-log1p-u_binary64
Counts
4 → 106
Calls

4 calls:

69.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
69.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
69.0ms
(cos.f64 (-.f64 lambda1 lambda2))
69.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01457
131053
2417353
3509053
000
100

prune285.0ms (1.6%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New20216218
Fresh000
Picked101
Done000
Total20316219
Error
0.7b
Counts
219 → 16
Alt Table
StatusErrorProgram
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
4.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (pow.f64 (cos.f64 phi1) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (/.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))
8.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
14.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2)))
26.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (pow.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) 2)))))
4.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 (-.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))
14.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))))))))
1.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2))))
Compiler

Compiled 6724 to 1581 computations (76.5% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
1.5b
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))
3.1b
(sin.f64 (-.f64 lambda1 lambda2))

series100.0ms (0.6%)

Counts
4 → 68
Calls

4 calls:

63.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
28.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
4.0ms
(sin.f64 (-.f64 lambda1 lambda2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite80.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
300×expm1-udef_binary64
300×log1p-udef_binary64
166×add-sqr-sqrt_binary64
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
Counts
4 → 120
Calls

4 calls:

74.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
74.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
74.0ms
(cos.f64 (-.f64 lambda1 lambda2))
74.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442
131842
2411242
3496042
000
100

prune845.0ms (4.9%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New2486254
Fresh31215
Picked101
Done000
Total25218270
Error
0.7b
Counts
270 → 18
Alt Table
StatusErrorProgram
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
8.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (pow.f64 (cos.f64 phi1) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (/.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
14.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2)))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 (-.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))
14.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
6.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))))))))
1.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))))
Compiler

Compiled 16636 to 5530 computations (66.8% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
1.5b
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))
3.1b
(sin.f64 (-.f64 lambda1 lambda2))

series108.0ms (0.6%)

Counts
4 → 68
Calls

4 calls:

67.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
30.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite84.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
300×expm1-udef_binary64
300×log1p-udef_binary64
166×add-sqr-sqrt_binary64
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
Counts
4 → 120
Calls

4 calls:

79.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
79.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
79.0ms
(cos.f64 (-.f64 lambda1 lambda2))
79.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442
131842
2411242
3496042
000
100

prune1.1s (6.5%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New2174221
Fresh31417
Picked101
Done000
Total22118239
Error
0.7b
Counts
239 → 18
Alt Table
StatusErrorProgram
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (-.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
14.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2)))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 (-.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
14.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
4.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (pow.f64 (cos.f64 phi1) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (/.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
8.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
6.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)) (/.f64 1 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))))))))
1.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
Compiler

Compiled 16215 to 5060 computations (68.8% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
1.5b
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))
3.1b
(sin.f64 (-.f64 lambda1 lambda2))

series142.0ms (0.8%)

Counts
4 → 68
Calls

4 calls:

67.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
66.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
4.0ms
(cos.f64 (-.f64 lambda1 lambda2))

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
300×expm1-udef_binary64
300×log1p-udef_binary64
166×add-sqr-sqrt_binary64
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
Counts
4 → 120
Calls

4 calls:

79.0ms
(pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3)
79.0ms
(-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1))
79.0ms
(cos.f64 (-.f64 lambda1 lambda2))
79.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442
131842
2411242
3496042
000
100

prune1.2s (7%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New2522254
Fresh11617
Picked101
Done000
Total25418272
Error
0.7b
Counts
272 → 18
Alt Table
StatusErrorProgram
30.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (sqrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 2)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (-.f64 (cos.f64 (neg.f64 lambda2)) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
14.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2)))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2))) (*.f64 1/2 (*.f64 (sin.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 (-.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2)) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 (neg.f64 lambda2)) lambda1) (sin.f64 (neg.f64 lambda2)))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
14.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (exp.f64 (log.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
4.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (pow.f64 (cos.f64 phi1) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))) (/.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 2) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
30.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (exp.f64 (log.f64 (sin.f64 (-.f64 lambda1 lambda2))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (log.f64 (exp.f64 (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
8.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (+.f64 (*.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))) (*.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
4.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
6.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))) (/.f64 1 (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 2) (*.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
1.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (-.f64 (cos.f64 (neg.f64 lambda2)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 (neg.f64 lambda2)) (pow.f64 lambda1 2))) (*.f64 (sin.f64 (neg.f64 lambda2)) lambda1)))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 2))))
Compiler

Compiled 16433 to 5676 computations (65.5% saved)

regimes1.9s (11.1%)

Accuracy

Total 0.2b remaining (23.1%)

Threshold costs 0.2b (23.1%)

Counts
196 → 1
Compiler

Compiled 64281 to 34590 computations (46.2% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary64
10×+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035102
157102
271102
380102
484102
583102

end442.0ms (2.6%)

Compiler

Compiled 1025 to 540 computations (47.3% saved)

Profiling

Loading profile data...