Time bar (total: 20.8s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 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 |
| 0.8% | 99% | 0.2% | 11 |
| 1.2% | 98.6% | 0.2% | 12 |
| 1.8% | 98% | 0.2% | 13 |
| 2% | 97.7% | 0.2% | 14 |
Compiled 25 to 18 computations (28% saved)
| 8.1s | 5673× | body | 1024 | valid |
| 1.2s | 1471× | body | 512 | valid |
| 754.0ms | 255× | body | 2048 | valid |
| 308.0ms | 537× | body | 256 | valid |
| 97.0ms | 320× | body | 128 | valid |
| 1.0ms | 1× | body | 1024 | invalid |
| 1.0ms | 1× | body | 512 | invalid |
Compiled 50 to 36 computations (28% saved)
| 2× | egg-herbie |
| 1299× | fma-def_binary64 |
| 458× | fma-neg_binary64 |
| 236× | cancel-sign-sub-inv_binary64 |
| 181× | distribute-rgt-in_binary64 |
| 160× | distribute-rgt-neg-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 319 |
| 1 | 181 | 319 |
| 2 | 307 | 319 |
| 3 | 402 | 319 |
| 4 | 466 | 319 |
| 5 | 670 | 319 |
| 6 | 894 | 319 |
| 7 | 1289 | 319 |
| 8 | 2073 | 319 |
| 9 | 3037 | 319 |
| 10 | 3654 | 319 |
| 11 | 4561 | 319 |
| 0 | 5 | 5 |
| 1 | 5 | 5 |
| 1× | unsound |
| 1× | node limit |
(sort lambda1 lambda2)
(sort phi1 phi2)
Compiled 24 to 17 computations (29.2% saved)
| 1× | egg-herbie |
| 47× | fma-def_binary64 |
| 32× | fma-neg_binary64 |
| 15× | cancel-sign-sub-inv_binary64 |
| 12× | sub-neg_binary64 |
| 10× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 29 |
| 1 | 28 | 29 |
| 2 | 44 | 29 |
| 3 | 57 | 29 |
| 4 | 67 | 29 |
| 5 | 85 | 29 |
| 6 | 123 | 29 |
| 7 | 160 | 29 |
| 8 | 206 | 29 |
| 9 | 243 | 29 |
| 10 | 269 | 29 |
| 11 | 271 | 29 |
| 1× | saturated |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
| ▶ | 14.7b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) R) |
Compiled 88 to 55 computations (37.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) |
| ✓ | 0.2b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) R) |
| ✓ | 0.7b | (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))))) |
| ✓ | 2.9b | (cos.f64 (-.f64 lambda2 lambda1)) |
45 calls:
| 5.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) | lambda2 | -inf |
| 3.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) | lambda1 | inf |
| 3.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) | lambda2 | inf |
| 3.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) | phi2 | inf |
| 3.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda2 lambda1))) | phi1 | -inf |
| 1× | batch-egg-rewrite |
| 355× | log1p-udef_binary64 |
| 195× | add-sqr-sqrt_binary64 |
| 181× | log1p-expm1-u_binary64 |
| 181× | expm1-log1p-u_binary64 |
| 180× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 77 |
| 1 | 362 | 77 |
| 2 | 4849 | 77 |
| 1× | node limit |
| 1× | egg-herbie |
| 573× | cancel-sign-sub-inv_binary64 |
| 568× | fma-def_binary64 |
| 442× | *-commutative_binary64 |
| 334× | sub-neg_binary64 |
| 248× | distribute-rgt-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 136 | 4331 |
| 1 | 434 | 4272 |
| 2 | 1451 | 4154 |
| 3 | 4577 | 4154 |
| 1× | node limit |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 118 | 15 | 133 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 119 | 15 | 134 |
| Status | Error | Program |
| 15.0b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R) | |
| 15.3b | (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 3) R) | |
| 14.8b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R) | |
| 14.8b | (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| 46.2b | (cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3)) | |
| 14.9b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) 1) R) | |
| 39.5b | (pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 2) | |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) 3) (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| 14.7b | (*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))))) R) | |
| ▶ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) R) |
| 14.9b | (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R) | |
| 15.4b | (pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 3) | |
| 14.7b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) R) | |
| 14.9b | (*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 2) R) |
Compiled 4660 to 1616 computations (65.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) |
| ✓ | 0.2b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) R) |
| ✓ | 0.2b | (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) |
| ✓ | 0.7b | (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))) |
45 calls:
| 8.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) | lambda1 | inf |
| 8.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) | phi1 | inf |
| 7.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) | phi2 | -inf |
| 7.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) | phi1 | -inf |
| 6.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))) | lambda2 | inf |
| 1× | batch-egg-rewrite |
| 226× | add-sqr-sqrt_binary64 |
| 207× | log1p-expm1-u_binary64 |
| 207× | expm1-log1p-u_binary64 |
| 206× | add-log-exp_binary64 |
| 205× | add-cube-cbrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 109 |
| 1 | 427 | 79 |
| 1× | node limit |
| 1× | egg-herbie |
| 401× | fma-neg_binary64 |
| 349× | associate-*r*_binary64 |
| 322× | distribute-rgt-neg-in_binary64 |
| 315× | associate--l+_binary64 |
| 304× | distribute-lft-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 205 | 6296 |
| 1 | 674 | 6240 |
| 2 | 2497 | 6059 |
| 1× | node limit |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 129 | 3 | 132 |
| Fresh | 2 | 12 | 14 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 132 | 15 | 147 |
| Status | Error | Program |
| 15.0b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R) | |
| 15.3b | (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 3) R) | |
| 14.8b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R) | |
| 14.8b | (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| 46.2b | (cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3)) | |
| 14.9b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) 1) R) | |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R) | |
| 39.5b | (pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 2) | |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) 3) (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))) (-.f64 (*.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))) (*.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| ▶ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R) |
| 14.7b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| 14.9b | (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R) | |
| 15.4b | (pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R)) 3) | |
| 14.7b | (*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R) | |
| 14.9b | (*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) 2) R) |
Compiled 5323 to 1885 computations (64.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))) |
| ✓ | 0.2b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R) |
| ✓ | 0.7b | (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) |
| ✓ | 2.6b | (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))) |
45 calls:
| 152.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))) | lambda2 | -inf |
| 151.0ms | (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))) | lambda2 | inf |
| 149.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))) | lambda2 | inf |
| 146.0ms | (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))) | lambda2 | -inf |
| 142.0ms | (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))) | lambda1 | inf |
| 1× | batch-egg-rewrite |
| 240× | add-sqr-sqrt_binary64 |
| 220× | add-log-exp_binary64 |
| 219× | log1p-expm1-u_binary64 |
| 219× | expm1-log1p-u_binary64 |
| 218× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 109 |
| 1 | 462 | 109 |
| 1× | node limit |
| 1× | egg-herbie |
| 401× | fma-neg_binary64 |
| 350× | associate-*r*_binary64 |
| 322× | distribute-rgt-neg-in_binary64 |
| 315× | associate--l+_binary64 |
| 304× | distribute-lft-neg-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 203 | 6728 |
| 1 | 679 | 6240 |
| 2 | 2522 | 6059 |
| 1× | node limit |
15 alts after pruning (14 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 118 | 7 | 125 |
| Fresh | 7 | 7 | 14 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 125 | 15 | 140 |
| Status | Error | Program |
| 15.0b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R) | |
| 4.7b | (pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 3) | |
| 14.8b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R) | |
| 14.8b | (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| ▶ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R) |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| 4.1b | (*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) R) | |
| 14.7b | (*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R) | |
| 4.1b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) 1) R) | |
| 14.9b | (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R) | |
| 46.2b | (cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3)) | |
| 4.7b | (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 3) R) | |
| ✓ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R) |
| 4.7b | (*.f64 (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| 33.6b | (pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 2) |
Compiled 5445 to 1856 computations (65.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.2b | (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) | |
| ✓ | 0.3b | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) |
| ✓ | 0.7b | (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) |
| ✓ | 30.1b | (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)) |
24 calls:
| 6.0ms | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) | lambda2 | inf |
| 4.0ms | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) | lambda1 | -inf |
| 4.0ms | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) | lambda2 | -inf |
| 4.0ms | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) | lambda1 | inf |
| 4.0ms | (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3) | lambda2 | 0 |
| 1× | batch-egg-rewrite |
| 224× | add-sqr-sqrt_binary64 |
| 211× | log1p-expm1-u_binary64 |
| 211× | expm1-log1p-u_binary64 |
| 208× | add-cbrt-cube_binary64 |
| 206× | add-log-exp_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 55 |
| 1 | 451 | 45 |
| 1× | node limit |
| 1× | egg-herbie |
| 616× | associate-*r*_binary64 |
| 589× | associate-*l*_binary64 |
| 420× | fma-def_binary64 |
| 290× | cancel-sign-sub-inv_binary64 |
| 266× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 2572 |
| 1 | 271 | 2556 |
| 2 | 1019 | 2484 |
| 3 | 4904 | 2484 |
| 1× | node limit |
15 alts after pruning (13 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 149 | 0 | 149 |
| Fresh | 0 | 13 | 13 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 149 | 15 | 164 |
| Status | Error | Program |
| 15.0b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))) 3))) R) | |
| 4.7b | (pow.f64 (cbrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 3) | |
| 14.8b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 1))) R) | |
| 14.8b | (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) (+.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))) R) | |
| ✓ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) 3)))))) R) |
| 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (log1p.f64 (expm1.f64 (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| 4.1b | (*.f64 (pow.f64 (sqrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) R) | |
| 14.7b | (*.f64 (log.f64 (+.f64 1 (expm1.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda2 lambda1))))))))) R) | |
| 4.1b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) 1) R) | |
| 14.9b | (*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) 1/2) 3) (pow.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) 3)) (+.f64 (*.f64 (*.f64 (PI.f64) 1/2) (*.f64 (PI.f64) 1/2)) (+.f64 (*.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2)))))) (*.f64 (*.f64 (PI.f64) 1/2) (asin.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))))))) R) | |
| 46.2b | (cbrt.f64 (pow.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 (-.f64 lambda2 lambda1)) (*.f64 (cos.f64 phi1) (cos.f64 phi2))))) R) 3)) | |
| 4.7b | (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 3) R) | |
| ✓ | 3.9b | (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (log.f64 (pow.f64 (exp.f64 (sin.f64 lambda2)) (sin.f64 lambda1))))))) R) |
| 4.7b | (*.f64 (*.f64 (pow.f64 (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)))))))) 2) (cbrt.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))))) R) | |
| 33.6b | (pow.f64 (sqrt.f64 (*.f64 (acos.f64 (fma.f64 (sin.f64 phi1) (sin.f64 phi2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (sin.f64 lambda1))))))) R)) 2) |
Compiled 5480 to 2070 computations (62.2% saved)
Total 0.3b remaining (7.5%)
Threshold costs 0.3b (7.5%)
Compiled 58568 to 39502 computations (32.6% saved)
| 1× | egg-herbie |
| 4× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
| 1× | unpow1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 39 |
| 1 | 30 | 39 |
| 1× | saturated |
| 1× | fuel |
(sort phi1 phi2)
(sort lambda1 lambda2)
Compiled 754 to 469 computations (37.8% saved)
Loading profile data...