Time bar (total: 15.4s)
| 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 | 7800× | body | 256 | valid |
| 223.0ms | 1257× | body | 128 | invalid |
| 145.0ms | 456× | 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 |
| ▶ | 38.4b | (+.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))) |
| 38.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) (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 |
| ✓ | 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) |
| ✓ | 7.5b | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
| ✓ | 8.3b | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| ✓ | 31.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
4 calls:
| 715.0ms | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| 597.0ms | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
| 14.0ms | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
| 6.0ms | (-.f64 (*.f64 g g) (*.f64 h h)) |
| 1× | 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 |
4 calls:
| 89.0ms | (-.f64 (*.f64 g g) (*.f64 h h)) |
| 89.0ms | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) |
| 89.0ms | (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)) |
| 89.0ms | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 68 |
| 1 | 409 | 68 |
| 2 | 4843 | 68 |
| 3 | 6030 | 68 |
| 1× | egg-herbie |
| 350× | associate-*r*_binary64 |
| 325× | times-frac_binary64 |
| 273× | fma-neg_binary64 |
| 247× | *-commutative_binary64 |
| 243× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 405 | 5670 |
| 1 | 1260 | 5468 |
| 2 | 4531 | 5278 |
| 3 | 5054 | 5278 |
22 alts after pruning (22 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 365 | 21 | 386 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 366 | 22 | 388 |
| Status | Error | Program |
| 36.4b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 38.5b | (+.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)) | |
| 38.3b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.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))) | |
| ▶ | 36.0b | (+.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))) |
| 49.2b | (+.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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 49.8b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 56.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))) | |
| 43.9b | (+.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))) | |
| 52.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)) a) -1/2))) | |
| 49.3b | (+.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 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a))))))) | |
| 38.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) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) | |
| 47.8b | (+.f64 (exp.f64 (log.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 50.5b | (+.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 (*.f64 (/.f64 2 a) g)))) | |
| 36.4b | (+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 55.7b | (+.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))) | |
| 51.2b | (+.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 -1 g)) (log.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)))))))) | |
| 48.0b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (log.f64 (exp.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))))) | |
| 59.7b | (+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (exp.f64 (fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/2 (*.f64 g a))))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 43.2b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 57.8b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3))) | |
| 36.4b | (+.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))) |
Compiled 19430 to 10098 computations (48% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.7b | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 7.5b | (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) | |
| 31.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
1 calls:
| 14.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
| 1× | 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:
| 61.0ms | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 188 | 15 |
| 2 | 2466 | 14 |
| 3 | 5332 | 14 |
| 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 |
24 alts after pruning (24 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 440 | 10 | 450 |
| Fresh | 7 | 14 | 21 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 448 | 24 | 472 |
| Status | Error | Program |
| 50.8b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (neg.f64 g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.5b | (+.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)) | |
| 50.9b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.3b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.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))) | |
| 49.2b | (+.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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 40.8b | (+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) -1/2)) (cbrt.f64 a))) | |
| 59.7b | (+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (exp.f64 (fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/2 (*.f64 g a))))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a))) | |
| 34.3b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 49.8b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 56.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))) | |
| ▶ | 34.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 43.9b | (+.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))) | |
| 52.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)) a) -1/2))) | |
| 47.8b | (+.f64 (exp.f64 (log.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 50.5b | (+.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 (*.f64 (/.f64 2 a) g)))) | |
| 57.7b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -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 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 51.2b | (+.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 -1 g)) (log.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)))))))) | |
| 49.9b | (+.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 60.6b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 42.8b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) -1/2)) (cbrt.f64 a))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 38.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) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) |
Compiled 21415 to 10030 computations (53.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.7b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
| 1.7b | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 31.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
1 calls:
| 15.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
| 1× | 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:
| 57.0ms | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 187 | 15 |
| 2 | 2454 | 14 |
| 3 | 5280 | 14 |
| 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 |
25 alts after pruning (25 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 454 | 7 | 461 |
| Fresh | 5 | 18 | 23 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 460 | 25 | 485 |
| Status | Error | Program |
| 49.9b | (+.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 49.8b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g) 3) 1/3) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 50.8b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (neg.f64 g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.5b | (+.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)) | |
| 50.9b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.3b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.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))) | |
| 40.8b | (+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) -1/2)) (cbrt.f64 a))) | |
| 59.7b | (+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (exp.f64 (fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/2 (*.f64 g a))))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a))) | |
| ▶ | 34.3b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
| 52.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) -1/2)) (cbrt.f64 a))) | |
| 56.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))) | |
| 45.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) -1/2)) (cbrt.f64 a))) | |
| 43.9b | (+.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))) | |
| 52.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)) a) -1/2))) | |
| 50.5b | (+.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 (*.f64 (/.f64 2 a) g)))) | |
| 46.3b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 57.7b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -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 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 51.2b | (+.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 -1 g)) (log.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a)))))))) | |
| 60.6b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 51.5b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) -1/2)) (cbrt.f64 a))) | |
| 40.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 41.1b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) |
Compiled 20926 to 8879 computations (57.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 1.7b | (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) | |
| 1.7b | (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) | |
| 2.8b | (-.f64 (*.f64 g g) (*.f64 h h)) | |
| 31.6b | (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) |
23 alts after pruning (23 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 457 | 4 | 461 |
| Fresh | 5 | 19 | 24 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 463 | 23 | 486 |
| Status | Error | Program |
| 45.3b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (*.f64 h h) g)) -1/2)) (cbrt.f64 a))) | |
| 49.8b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g) 3) 1/3) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 37.1b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 49.9b | (+.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 50.9b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.3b | (+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.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))) | |
| 40.8b | (+.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 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) -1/2)) (cbrt.f64 a))) | |
| 59.7b | (+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (exp.f64 (fma.f64 2 (log.f64 h) (log.f64 (/.f64 -1/2 (*.f64 g a))))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 52.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 g) 2) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) -1/2)) (cbrt.f64 a))) | |
| 56.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))) | |
| 45.2b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) -1/2)) (cbrt.f64 a))) | |
| 43.9b | (+.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))) | |
| 52.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 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)) a) -1/2))) | |
| 52.2b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) -1/2)) (cbrt.f64 a))) | |
| 50.5b | (+.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 (*.f64 (/.f64 2 a) g)))) | |
| 46.3b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 40.2b | (+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 57.7b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 60.6b | (+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a))) | |
| 38.5b | (+.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)) | |
| 43.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) | |
| 47.3b | (+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a))) | |
| 51.5b | (+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)))) -1/2)) (cbrt.f64 a))) |
Compiled 19937 to 8521 computations (57.3% saved)
Total 0.8b remaining (2.6%)
Threshold costs 0.8b (2.6%)
Compiled 55045 to 35159 computations (36.1% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 8 | -4.443181745122809e-162 | -6.916605282315942e-166 | -4.387941031811663e-162 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 7× | +-commutative_binary64 |
| 7× | *-commutative_binary64 |
| 5× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
| 3× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 35 | 92 |
| 1 | 48 | 92 |
| 2 | 58 | 92 |
| 3 | 64 | 92 |
| 4 | 67 | 92 |
| 5 | 67 | 92 |
Compiled 953 to 601 computations (36.9% saved)
Loading profile data...