Time bar (total: 10.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.8s | 7780× | body | 256 | valid |
| 226.0ms | 1285× | body | 128 | invalid |
| 99.0ms | 476× | body | 128 | valid |
Compiled 122 to 71 computations (41.8% saved)
| 1× | egg-herbie |
| 694× | fma-def_binary64 |
| 538× | rules-23-rev_binary64 |
| 364× | fma-neg_binary64 |
| 181× | rules-4_binary64 |
| 147× | rules-6-rev_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 52 |
| 1 | 49 | 51 |
| 2 | 138 | 51 |
| 3 | 508 | 50 |
| 4 | 2498 | 48 |
| 1× | node limit |
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 |
| ▶ | 39.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
Compiled 139 to 73 computations (47.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 2.2b | (fma.f64 g g (neg.f64 (*.f64 h h))) |
| ✓ | 7.8b | (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) |
| ✓ | 11.6b | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))) |
| ✓ | 31.6b | (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) |
4 calls:
| 616.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))) |
| 523.0ms | (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) |
| 12.0ms | (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) |
| 6.0ms | (fma.f64 g g (neg.f64 (*.f64 h h))) |
| 1× | batch-egg-rewrite |
| 182× | add-sqr-sqrt_binary64 |
| 172× | add-cbrt-cube_binary64 |
| 172× | log1p-expm1-u_binary64 |
| 172× | expm1-log1p-u_binary64 |
| 168× | add-cube-cbrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 68 |
| 1 | 430 | 41 |
| 1× | node limit |
4 calls:
| 38.0ms | (fma.f64 g g (neg.f64 (*.f64 h h))) |
| 38.0ms | (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) |
| 38.0ms | (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))) |
| 38.0ms | (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) |
| 1× | egg-herbie |
| 441× | rules-4_binary64 |
| 397× | rules-20_binary64 |
| 365× | fma-def_binary64 |
| 266× | rules-13_binary64 |
| 229× | rules-6_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 405 | 5686 |
| 1 | 1451 | 5686 |
| 1× | node limit |
20 alts after pruning (19 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 389 | 19 | 408 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 389 | 20 | 409 |
| Status | Error | Program |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a)))))) | |
| 52.0b | (+.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 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 37.8b | (+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (hypot.f64 g h) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| ▶ | 35.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) |
| 51.7b | (+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (+.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 45.2b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2) (cbrt.f64 (hypot.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 35.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a))) | |
| 49.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 2 (/.f64 g a))))) | |
| 46.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 50.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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))))))) | |
| 50.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 44.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a)))) | |
| 39.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h)))))) | |
| 39.7b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 57.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3))) | |
| ✓ | 39.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
| 46.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (hypot.f64 g h)))) (/.f64 -1/2 a)))) | |
| 54.1b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 50.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a)))))) | |
| 52.0b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
Compiled 19098 to 10699 computations (44% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.4b | (+.f64 g (hypot.f64 g h)) |
| 2.2b | (fma.f64 g g (neg.f64 (*.f64 h h))) | |
| 7.8b | (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) | |
| 31.6b | (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) |
1 calls:
| 9.0ms | (+.f64 g (hypot.f64 g h)) |
| 1× | batch-egg-rewrite |
| 562× | log1p-expm1-u_binary64 |
| 562× | expm1-log1p-u_binary64 |
| 448× | fma-neg_binary64 |
| 359× | prod-diff_binary64 |
| 101× | expm1-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 7 |
| 1 | 123 | 7 |
| 2 | 1707 | 7 |
| 1× | node limit |
1 calls:
| 37.0ms | (+.f64 g (hypot.f64 g h)) |
| 1× | egg-herbie |
| 311× | rules-4_binary64 |
| 232× | fma-neg_binary64 |
| 222× | rules-11_binary64 |
| 198× | rules-6_binary64 |
| 184× | rules-20_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 447 |
| 1 | 191 | 446 |
| 2 | 795 | 440 |
| 1× | node limit |
24 alts after pruning (23 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 281 | 13 | 294 |
| Fresh | 8 | 10 | 18 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 290 | 24 | 314 |
| Status | Error | Program |
| 54.3b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a)))))) | |
| 52.0b | (+.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 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 9.3b | (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 47.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| ▶ | 2.3b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) |
| 9.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 9.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 29.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 35.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a))) | |
| 49.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 2 (/.f64 g a))))) | |
| 35.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2)))) | |
| 50.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h))) | |
| 54.1b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 52.0b | (+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 -1 g))))) (cbrt.f64 1/2)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 25.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 44.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a)))) | |
| 39.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h)))))) | |
| 41.2b | (+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 57.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3))) | |
| ✓ | 39.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
| 41.7b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (cbrt.f64 (pow.f64 (+.f64 g (hypot.f64 g h)) 3))))) | |
| 50.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a)))))) | |
| 52.0b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
Compiled 12834 to 7473 computations (41.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.6b | (cbrt.f64 (/.f64 1/2 a)) |
| ✓ | 0.6b | (cbrt.f64 (/.f64 -1/2 a)) |
| ✓ | 1.3b | (-.f64 (hypot.f64 g h) g) |
| 1.4b | (+.f64 g (hypot.f64 g h)) |
3 calls:
| 42.0ms | (cbrt.f64 (/.f64 -1/2 a)) |
| 31.0ms | (cbrt.f64 (/.f64 1/2 a)) |
| 9.0ms | (-.f64 (hypot.f64 g h) g) |
| 1× | batch-egg-rewrite |
| 797× | fma-neg_binary64 |
| 432× | prod-diff_binary64 |
| 205× | expm1-udef_binary64 |
| 205× | log1p-udef_binary64 |
| 122× | egg-rr |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 19 |
| 1 | 278 | 19 |
| 2 | 3421 | 19 |
| 1× | node limit |
3 calls:
| 56.0ms | (cbrt.f64 (/.f64 1/2 a)) |
| 56.0ms | (cbrt.f64 (/.f64 -1/2 a)) |
| 56.0ms | (-.f64 (hypot.f64 g h) g) |
| 1× | egg-herbie |
| 288× | rules-4_binary64 |
| 252× | rules-11_binary64 |
| 233× | fma-neg_binary64 |
| 192× | rules-6_binary64 |
| 191× | rules-20_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 750 |
| 1 | 222 | 749 |
| 2 | 859 | 737 |
| 1× | node limit |
38 alts after pruning (37 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 230 | 21 | 251 |
| Fresh | 6 | 16 | 22 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 237 | 38 | 275 |
| Status | Error | Program |
| 54.3b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a)))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (cbrt.f64 -1/2) (cbrt.f64 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 52.0b | (+.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 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 4.1b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (exp.f64 (log.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 47.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 17.9b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (hypot.f64 g h))))) | |
| 9.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (hypot.f64 g h))) 2) (cbrt.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 9.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 29.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) 2))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| ✓ | 39.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) 0)))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2)))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 24.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (/.f64 1/2 a) (+.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 1/2 a)) 0))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 35.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 3) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 3.9b | (+.f64 (*.f64 (cbrt.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 g h) g)))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 50.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h))) | |
| 54.1b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 2)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 50.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a)))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 1 a))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 25.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 44.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a)))) | |
| 17.1b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 -1/2 a)))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 39.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h)))))) | |
| 35.7b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 1 a) 1/3)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 52.0b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| ▶ | 2.3b | (+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g h) g)) 2)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) |
| 3.8b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (expm1.f64 (log1p.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 41.2b | (+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 35.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 30.9b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) |
Compiled 9924 to 5452 computations (45.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.6b | (cbrt.f64 (/.f64 1/2 a)) | |
| 0.6b | (cbrt.f64 (/.f64 -1/2 a)) | |
| 1.3b | (-.f64 (hypot.f64 g h) g) | |
| 1.4b | (+.f64 g (hypot.f64 g h)) |
37 alts after pruning (36 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 249 | 2 | 251 |
| Fresh | 2 | 34 | 36 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 252 | 37 | 289 |
| Status | Error | Program |
| 54.3b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 51.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a)))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (cbrt.f64 -1/2) (cbrt.f64 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 52.0b | (+.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 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 4.1b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (exp.f64 (log.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 47.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 17.9b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (hypot.f64 g h))))) | |
| 9.0b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (hypot.f64 g h))) 2) (cbrt.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 9.3b | (+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 29.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 35.2b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.3b | (+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g h) g)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| ✓ | 39.4b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) 0)))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2)))) | |
| 24.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (/.f64 1/2 a) (+.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 1/2 a)) 0))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 35.5b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 3) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 3.9b | (+.f64 (*.f64 (cbrt.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 g h) g)))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 50.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h))) | |
| 54.1b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 2.6b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 2)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 50.3b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a)))))) | |
| 2.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 1 a))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 25.1b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 26.4b | (+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2) (cbrt.f64 (hypot.f64 g h)) (neg.f64 g))) 2)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 44.8b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a)))) | |
| 17.1b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 -1/2 a)))) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 39.6b | (+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h)))))) | |
| 35.7b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 1 a) 1/3)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 3.8b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (expm1.f64 (log1p.f64 (+.f64 g (hypot.f64 g h))))))) | |
| 41.2b | (+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 30.9b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h))))) | |
| 52.0b | (+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))) |
Compiled 9468 to 5389 computations (43.1% saved)
Total 1.3b remaining (42.3%)
Threshold costs 0b (0%)
Compiled 50944 to 34715 computations (31.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 43 |
| 1× | saturated |
Compiled 1253 to 850 computations (32.2% saved)
Loading profile data...