Details

Time bar (total: 51.9s)

analyze5.7s (11%)

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
0%99.8%0.2%9
0%99.8%0.2%10
1.2%98.6%0.2%11
1.4%98.4%0.2%12
10.8%88.9%0.2%13
10.8%88.9%0.2%14
Compiler

Compiled 39 to 24 computations (38.5% saved)

sample470.0ms (0.9%)

Algorithm
intervals
Results
230.0ms128×body1024valid
41.0ms43×body512valid
17.0ms65×body128valid
12.0ms18×body256valid
8.0msbody2048valid
Compiler

Compiled 82 to 52 computations (36.6% saved)

simplify52.0ms (0.1%)

Algorithm
egg-herbie
Rules
571×fma-def_binary64
244×fma-neg_binary64
103×unsub-neg_binary64
90×associate-*l*_binary64
88×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02353
14053
26653
38553
49953
513353
617353
721753
828153
930553
1036253
1140753
1246853
1360453
1472853
1583653
1694353
1789153
1889353
1989953
2090453
2184153

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
Compiler

Compiled 144 to 76 computations (47.2% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))
0.3b
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
0.3b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))

series269.0ms (0.5%)

Counts
4 → 144
Calls

4 calls:

133.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
66.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))
52.0ms
(*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))
12.0ms
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

rewrite33.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
11×pow1_binary64
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
Counts
4 → 72
Calls

4 calls:

11.0ms
(*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))
7.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
6.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))
1.0ms
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

simplify305.0ms (0.6%)

Algorithm
egg-herbie
Rules
526×fma-neg_binary64
424×distribute-rgt-neg-in_binary64
373×distribute-lft-neg-in_binary64
337×associate-*r*_binary64
326×associate-*l*_binary64
Counts
216 → 193
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02776657
17736165
225915941
348365941
449845941

prune743.0ms (1.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1867193
Fresh000
Picked101
Done000
Total1877194
Error
0.0b
Counts
194 → 7
Alt Table
StatusErrorProgram
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (-.f64 (cos.f64 phi1) (*.f64 (*.f64 (sin.f64 phi1) delta) (cos.f64 theta))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))) (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))) (cbrt.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))
Compiler

Compiled 8950 to 2164 computations (75.8% saved)

localize65.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
0.3b
(/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))
0.3b
(pow.f64 (cos.f64 delta) 3)
0.4b
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)

series17.8s (34.3%)

Counts
4 → 112
Calls

4 calls:

17.5s
(/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))
255.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)
56.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
11.0ms
(pow.f64 (cos.f64 delta) 3)

rewrite60.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
70×add-sqr-sqrt_binary64
39×times-frac_binary64
36×*-un-lft-identity_binary64
32×difference-of-squares_binary64
28×add-cube-cbrt_binary64
Counts
4 → 143
Calls

4 calls:

15.0ms
(/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))
4.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)
4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
2.0ms
(pow.f64 (cos.f64 delta) 3)

simplify1.7s (3.3%)

Algorithm
egg-herbie
Rules
399×associate-*r*_binary64
351×fma-def_binary64
254×associate-/l*_binary64
246×associate-/r*_binary64
234×times-frac_binary64
Counts
255 → 277
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01745102379
14996102379
25032102379

prune3.0s (5.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2734277
Fresh336
Picked101
Done000
Total2777284
Error
0.0b
Counts
284 → 7
Alt Table
StatusErrorProgram
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (fma.f64 3 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 5) (*.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 6) (pow.f64 (cos.f64 delta) 3) (fma.f64 (pow.f64 (sin.f64 delta) 3) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (cos.f64 theta) 3))) (*.f64 3 (*.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 4) (*.f64 (cos.f64 delta) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2)))))))))) (fma.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 2) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2))) (fma.f64 2 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 2) (pow.f64 (cos.f64 delta) 2) (fma.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))) (*.f64 (+.f64 (pow.f64 (sin.f64 phi1) 4) 1) (pow.f64 (cos.f64 delta) 2)))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))))) (/.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))))
14.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (pow.f64 (cos.f64 delta) (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (cbrt.f64 3)) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (-.f64 (cos.f64 phi1) (*.f64 (*.f64 (sin.f64 phi1) delta) (cos.f64 theta))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
Compiler

Compiled 133306 to 55922 computations (58% saved)

localize145.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (sin.f64 delta) 3)
0.4b
(pow.f64 (sin.f64 phi1) 4)
0.5b
(pow.f64 (sin.f64 phi1) 5)
0.6b
(pow.f64 (sin.f64 phi1) 6)

series65.0ms (0.1%)

Counts
4 → 16
Calls

4 calls:

18.0ms
(pow.f64 (sin.f64 phi1) 6)
18.0ms
(pow.f64 (sin.f64 phi1) 5)
15.0ms
(pow.f64 (sin.f64 delta) 3)
13.0ms
(pow.f64 (sin.f64 phi1) 4)

rewrite19.0ms (0%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
12×pow-unpow_binary64
12×unpow-prod-down_binary64
Counts
4 → 82
Calls

4 calls:

4.0ms
(pow.f64 (sin.f64 phi1) 6)
4.0ms
(pow.f64 (sin.f64 delta) 3)
4.0ms
(pow.f64 (sin.f64 phi1) 5)
3.0ms
(pow.f64 (sin.f64 phi1) 4)

simplify148.0ms (0.3%)

Algorithm
egg-herbie
Rules
588×associate-*l*_binary64
515×associate-*r*_binary64
469×fma-neg_binary64
425×log-prod_binary64
416×exp-prod_binary64
Counts
98 → 124
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01761051
1387956
2973925
33474913
44957913
54912913

prune974.0ms (1.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1560156
Fresh066
Picked011
Done000
Total1567163
Error
0.0b
Counts
163 → 7
Alt Table
StatusErrorProgram
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (fma.f64 3 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 5) (*.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 6) (pow.f64 (cos.f64 delta) 3) (fma.f64 (pow.f64 (sin.f64 delta) 3) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (cos.f64 theta) 3))) (*.f64 3 (*.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 4) (*.f64 (cos.f64 delta) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2)))))))))) (fma.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 2) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2))) (fma.f64 2 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 2) (pow.f64 (cos.f64 delta) 2) (fma.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))) (*.f64 (+.f64 (pow.f64 (sin.f64 phi1) 4) 1) (pow.f64 (cos.f64 delta) 2)))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))))) (/.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))))
14.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (pow.f64 (cos.f64 delta) (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (cbrt.f64 3)) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (-.f64 (cos.f64 phi1) (*.f64 (*.f64 (sin.f64 phi1) delta) (cos.f64 theta))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
Compiler

Compiled 27034 to 12827 computations (52.6% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
0.5b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
0.7b
(cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))

series3.3s (6.4%)

Counts
4 → 144
Calls

4 calls:

2.4s
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
893.0ms
(cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))
65.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
30.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

rewrite37.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
23×associate-*l/_binary64
17×cbrt-div_binary64
17×sin-cos-mult_binary64
16×pow1/3_binary64
Counts
4 → 110
Calls

4 calls:

13.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
7.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
4.0ms
(cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))
3.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))

simplify165.0ms (0.3%)

Algorithm
egg-herbie
Rules
507×fma-neg_binary64
500×unswap-sqr_binary64
448×associate-*r*_binary64
369×associate-*l*_binary64
267×sub-neg_binary64
Counts
254 → 264
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03637827
110156977
234876593
350846593

prune1.2s (2.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3560356
Fresh055
Picked011
Done011
Total3567363
Error
0.0b
Counts
363 → 7
Alt Table
StatusErrorProgram
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (fma.f64 3 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 5) (*.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 6) (pow.f64 (cos.f64 delta) 3) (fma.f64 (pow.f64 (sin.f64 delta) 3) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (cos.f64 theta) 3))) (*.f64 3 (*.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 4) (*.f64 (cos.f64 delta) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2)))))))))) (fma.f64 (pow.f64 (sin.f64 delta) 2) (*.f64 (pow.f64 (sin.f64 phi1) 2) (*.f64 (pow.f64 (cos.f64 phi1) 2) (pow.f64 (cos.f64 theta) 2))) (fma.f64 2 (*.f64 (sin.f64 delta) (*.f64 (pow.f64 (sin.f64 phi1) 3) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (fma.f64 (pow.f64 (sin.f64 phi1) 2) (pow.f64 (cos.f64 delta) 2) (fma.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))) (*.f64 (+.f64 (pow.f64 (sin.f64 phi1) 4) 1) (pow.f64 (cos.f64 delta) 2)))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (/.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta)))))))) (/.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))) (cbrt.f64 (+.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))))
14.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (pow.f64 (cos.f64 delta) (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (cbrt.f64 3)) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
11.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (-.f64 (cos.f64 phi1) (*.f64 (*.f64 (sin.f64 phi1) delta) (cos.f64 theta))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cos.f64 delta))))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) 3))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
Compiler

Compiled 22404 to 5410 computations (75.9% saved)

regimes5.2s (9.9%)

Accuracy

Total 0.1b remaining (62.4%)

Threshold costs 0.1b (62.4%)

Counts
361 → 1
Compiler

Compiled 199330 to 82775 computations (58.5% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031195
145195
257195
369195
477195
582195
684195
784195

end4.0ms (0%)

Compiler

Compiled 122 to 31 computations (74.6% saved)

sample10.3s (19.9%)

Algorithm
intervals
Results
7.1s3930×body1024valid
1.3s1342×body512valid
630.0ms2173×body128valid
360.0ms542×body256valid
60.0ms13×body2048valid
Compiler

Compiled 858 to 333 computations (61.2% saved)

Profiling

Loading profile data...