Time bar (total: 15.7s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 99.9% | 0.1% | 5 |
| 12.5% | 68.6% | 18.9% | 6 |
| 18.7% | 62.4% | 18.9% | 7 |
| 18.7% | 59.3% | 22% | 8 |
| 28.1% | 39% | 32.9% | 9 |
| 32.8% | 34.3% | 32.9% | 10 |
| 32.8% | 32% | 35.3% | 11 |
| 38.2% | 20.7% | 41.1% | 12 |
| 41% | 17.9% | 41.1% | 13 |
| 41% | 16.6% | 42.5% | 14 |
Compiled 41 to 24 computations (41.5% saved)
| 2.4s | 7803× | body | 256 | valid |
| 193.0ms | 1262× | body | 128 | invalid |
| 77.0ms | 453× | body | 128 | valid |
Compiled 122 to 71 computations (41.8% saved)
| 1× | egg-herbie |
| 729× | fma-neg_binary64 |
| 636× | times-frac_binary64 |
| 620× | div-sub_binary64 |
| 565× | unsub-neg_binary64 |
| 481× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 52 |
| 1 | 54 | 50 |
| 2 | 144 | 50 |
| 3 | 406 | 48 |
| 4 | 826 | 48 |
| 5 | 1523 | 48 |
| 6 | 1911 | 48 |
| 7 | 2632 | 48 |
| 8 | 2589 | 48 |
| 9 | 2971 | 48 |
| 10 | 3625 | 48 |
| 11 | 4193 | 48 |
| 12 | 4375 | 48 |
| 13 | 4485 | 48 |
| 14 | 4533 | 48 |
| 15 | 4557 | 48 |
| 16 | 4607 | 48 |
| 17 | 4882 | 48 |
| 18 | 4848 | 48 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| 35.1b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| ▶ | 35.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) |
Compiled 219 to 116 computations (47% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 3.8b | (-.f64 (*.f64 g g) (*.f64 h h)) |
| ✓ | 7.9b | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| ✓ | 8.4b | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| ✓ | 28.5b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
4 calls:
| 778.0ms | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| 720.0ms | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| 15.0ms | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
| 7.0ms | (-.f64 (*.f64 g g) (*.f64 h h)) |
| 2× | batch-egg-rewrite |
| 622× | prod-diff_binary64 |
| 200× | add-sqr-sqrt_binary64 |
| 191× | log1p-expm1-u_binary64 |
| 191× | expm1-log1p-u_binary64 |
| 188× | add-cbrt-cube_binary64 |
4 calls:
| 79.0ms | (-.f64 (*.f64 g g) (*.f64 h h)) |
| 79.0ms | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| 79.0ms | (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) |
| 79.0ms | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 72 |
| 1 | 416 | 68 |
| 2 | 4524 | 68 |
| 3 | 5762 | 68 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 350× | associate-*r*_binary64 |
| 325× | times-frac_binary64 |
| 274× | fma-neg_binary64 |
| 249× | *-commutative_binary64 |
| 243× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 408 | 5670 |
| 1 | 1271 | 5468 |
| 2 | 4551 | 5214 |
| 3 | 4981 | 5214 |
19 alts after pruning (19 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 372 | 18 | 390 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 373 | 19 | 392 |
| Status | Error | Program |
| 42.7b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 48.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a))))))) | |
| ▶ | 35.1b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) |
| 53.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 47.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) | |
| 49.4b | (+.f64 (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 57.2b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (-.f64 (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 49.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 49.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 57.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g)))))) | |
| 39.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 43.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))))) | |
| 55.7b | (+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 -1 g))))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 47.2b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g)))) | |
| 49.4b | (+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a))))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a)))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 39.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2))))) | |
| 40.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 56.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))))) |
Compiled 21654 to 11879 computations (45.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 3.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| ✓ | 7.9b | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| ✓ | 8.4b | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
| 28.5b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
2 calls:
| 758.0ms | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| 724.0ms | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
| 2× | batch-egg-rewrite |
| 671× | prod-diff_binary64 |
| 204× | add-sqr-sqrt_binary64 |
| 196× | log1p-expm1-u_binary64 |
| 196× | expm1-log1p-u_binary64 |
| 193× | add-cube-cbrt_binary64 |
2 calls:
| 68.0ms | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| 68.0ms | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 46 |
| 1 | 409 | 46 |
| 2 | 4843 | 46 |
| 3 | 6030 | 46 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 339× | associate-*r*_binary64 |
| 293× | times-frac_binary64 |
| 228× | *-commutative_binary64 |
| 223× | fma-neg_binary64 |
| 207× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 356 | 4792 |
| 1 | 1093 | 4604 |
| 2 | 3960 | 4344 |
| 3 | 4984 | 4344 |
| 4 | 4959 | 4344 |
22 alts after pruning (22 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 376 | 18 | 394 |
| Fresh | 14 | 4 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 391 | 22 | 413 |
| Status | Error | Program |
| 49.7b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3)))) | |
| 42.7b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 57.6b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g)))))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) a) -1/2))) | |
| 44.2b | (+.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)) 2/3)) (cbrt.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 56.4b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))))) | |
| ▶ | 32.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) |
| 35.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3)) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a))))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a)))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 40.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2))) | |
| 55.7b | (+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 -1 g))))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 49.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 35.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))) 3) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 39.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 34.9b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 57.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (-.f64 (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 47.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) | |
| 33.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 35.1b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2))) | |
| 53.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) |
Compiled 20024 to 10420 computations (48% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 2.1b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
| 3.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 7.9b | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) | |
| 28.5b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
1 calls:
| 16.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
| 2× | batch-egg-rewrite |
| 693× | fma-def_binary64 |
| 435× | log-prod_binary64 |
| 336× | fma-neg_binary64 |
| 164× | expm1-udef_binary64 |
| 164× | log1p-udef_binary64 |
1 calls:
| 51.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 187 | 15 |
| 2 | 2454 | 14 |
| 3 | 5280 | 14 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 539× | fma-neg_binary64 |
| 463× | times-frac_binary64 |
| 439× | distribute-neg-frac_binary64 |
| 284× | div-sub_binary64 |
| 235× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 575 |
| 1 | 223 | 557 |
| 2 | 661 | 547 |
| 3 | 3225 | 543 |
| 4 | 4904 | 543 |
| 5 | 5238 | 543 |
24 alts after pruning (24 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 399 | 6 | 405 |
| Fresh | 3 | 18 | 21 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 403 | 24 | 427 |
| Status | Error | Program |
| 53.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) a) -1/2))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) 2) a) -1/2))) | |
| 49.7b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3)))) | |
| 42.7b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 44.9b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) a) -1/2))) | |
| 57.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (-.f64 (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 57.6b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g)))))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) a) -1/2))) | |
| ▶ | 30.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 56.4b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))))) | |
| 35.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3)) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a))))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a)))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 42.3b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 39.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2))) | |
| 40.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2))) | |
| 49.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 35.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))) 3) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 39.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 34.9b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) | |
| 35.1b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2))) | |
| 53.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) |
Compiled 20362 to 10354 computations (49.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.4b | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
| 2.1b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | |
| 3.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 28.5b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
1 calls:
| 18.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
| 2× | batch-egg-rewrite |
| 747× | fma-def_binary64 |
| 443× | log-prod_binary64 |
| 325× | fma-neg_binary64 |
| 166× | expm1-udef_binary64 |
| 166× | log1p-udef_binary64 |
1 calls:
| 59.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 188 | 15 |
| 2 | 2466 | 14 |
| 3 | 5332 | 14 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 447× | distribute-neg-frac_binary64 |
| 443× | times-frac_binary64 |
| 253× | div-sub_binary64 |
| 232× | associate-/l*_binary64 |
| 229× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 618 |
| 1 | 249 | 598 |
| 2 | 787 | 584 |
| 3 | 3540 | 584 |
| 4 | 4802 | 584 |
| 5 | 5086 | 584 |
28 alts after pruning (27 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 460 | 9 | 469 |
| Fresh | 5 | 18 | 23 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 465 | 28 | 493 |
| Status | Error | Program |
| 35.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))) 3) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 44.3b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) -1/2)) (cbrt.f64 a))) | |
| 36.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) -1/2)) (cbrt.f64 a))) | |
| 39.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 53.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) a) -1/2))) | |
| 50.3b | (+.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 (pow.f64 h 4) (pow.f64 g 3)) -1/8 (*.f64 -1/2 (/.f64 (*.f64 h h) g)))) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) 2) a) -1/2))) | |
| 49.7b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)) 1/3) (pow.f64 (/.f64 -1 g) 1/3)))) | |
| 32.6b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.5b | (+.f64 (*.f64 (cbrt.f64 (-.f64 g g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 57.6b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g)))))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 1/2))) a) -1/2))) | |
| ✓ | 30.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 56.4b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g))))))) | |
| 46.5b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) 3) -1/2)) (cbrt.f64 a))) | |
| 42.3b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 35.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 3)) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (+.f64 (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a))))))) (*.f64 1/12 (/.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 g)) (log.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) a)))))) (pow.f64 h 2))) (pow.f64 g 2))))) | |
| 56.0b | (+.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g))) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 35.1b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2))) | |
| 60.3b | (+.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 53.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 34.9b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)))))) | |
| 46.5b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) 2) -1/2)) (cbrt.f64 a))) | |
| 39.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) a) -1/2))) | |
| 49.9b | (+.f64 (*.f64 (cbrt.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))))) (cbrt.f64 (/.f64 1 (*.f64 2 a)))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
Compiled 21609 to 9856 computations (54.4% saved)
Total 1.7b remaining (5.6%)
Threshold costs 0b (0%)
Compiled 67531 to 43926 computations (35% saved)
| 1× | egg-herbie |
| 7× | +-commutative_binary64 |
| 6× | *-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 23 | 55 |
| 1 | 37 | 55 |
| 2 | 46 | 55 |
| 3 | 52 | 55 |
| 4 | 55 | 55 |
| 5 | 54 | 55 |
Compiled 1171 to 757 computations (35.4% saved)
Loading profile data...