Time bar (total: 3.5s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 0% | 100% | 0 |
| 0% | 0% | 100% | 1 |
Compiled 17 to 11 computations (35.3% saved)
| 755.0ms | 8256× | body | 128 | valid |
Compiled 34 to 22 computations (35.3% saved)
| 2× | egg-herbie |
| 922× | fma-neg_binary64 |
| 610× | times-frac_binary64 |
| 428× | div-sub_binary64 |
| 255× | distribute-rgt-in_binary64 |
| 236× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 40 |
| 1 | 35 | 40 |
| 2 | 57 | 40 |
| 3 | 100 | 40 |
| 4 | 221 | 40 |
| 5 | 493 | 40 |
| 6 | 1108 | 40 |
| 7 | 2991 | 40 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
Compiled 10 to 6 computations (40% saved)
| 1× | egg-herbie |
| 649× | fma-neg_binary64 |
| 496× | div-sub_binary64 |
| 481× | fma-def_binary64 |
| 322× | times-frac_binary64 |
| 160× | associate-/l/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 13 | 10 |
| 2 | 21 | 10 |
| 3 | 37 | 10 |
| 4 | 72 | 10 |
| 5 | 127 | 10 |
| 6 | 265 | 10 |
| 7 | 547 | 10 |
| 8 | 1353 | 10 |
| 9 | 2750 | 10 |
| 10 | 3664 | 10 |
| 11 | 4026 | 10 |
| 12 | 4151 | 10 |
| 13 | 4178 | 10 |
| 14 | 4188 | 10 |
| 15 | 4196 | 10 |
| 16 | 4196 | 10 |
| 1× | saturated |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
| ▶ | 62.0b | (/.f64 (-.f64 x lo) (-.f64 hi lo)) |
Compiled 37 to 21 computations (43.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 62.0b | (/.f64 (-.f64 x lo) (-.f64 hi lo)) |
9 calls:
| 7.0ms | (/.f64 (-.f64 x lo) (-.f64 hi lo)) | lo | -inf |
| 2.0ms | (/.f64 (-.f64 x lo) (-.f64 hi lo)) | hi | -inf |
| 2.0ms | (/.f64 (-.f64 x lo) (-.f64 hi lo)) | hi | 0 |
| 2.0ms | (/.f64 (-.f64 x lo) (-.f64 hi lo)) | hi | inf |
| 2.0ms | (/.f64 (-.f64 x lo) (-.f64 hi lo)) | x | -inf |
| 1× | batch-egg-rewrite |
| 952× | prod-diff_binary64 |
| 233× | egg-rr |
| 166× | expm1-udef_binary64 |
| 166× | log1p-udef_binary64 |
| 93× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 10 |
| 1 | 167 | 10 |
| 2 | 2683 | 10 |
| 1× | node limit |
| 1× | egg-herbie |
| 722× | sub-neg_binary64 |
| 402× | associate--l+_binary64 |
| 330× | fma-def_binary64 |
| 327× | associate--r+_binary64 |
| 299× | associate-+l+_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 78 | 1093 |
| 1 | 236 | 1075 |
| 2 | 863 | 919 |
| 3 | 4691 | 913 |
| 1× | node limit |
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 261 | 4 | 265 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 262 | 4 | 266 |
| Status | Error | Program |
| 57.9b | (+.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 (pow.f64 (/.f64 hi lo) 3) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (-.f64 1 (/.f64 x lo))) | |
| 52.0b | (+.f64 (/.f64 hi lo) (+.f64 1 (-.f64 (*.f64 (/.f64 hi lo) (-.f64 (/.f64 hi lo) (/.f64 x lo))) (/.f64 x lo)))) | |
| ▶ | 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)))) |
| 52.0b | (-.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 1 (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (/.f64 x lo)) |
Compiled 12683 to 3428 computations (73% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) |
| ✓ | 0.8b | (pow.f64 (/.f64 lo hi) 3) |
| ✓ | 1.6b | (+.f64 (/.f64 lo hi) 1) |
| ✓ | 2.3b | (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)) |
24 calls:
| 4.0ms | (pow.f64 (/.f64 lo hi) 3) | lo | 0 |
| 4.0ms | (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)) | lo | -inf |
| 3.0ms | (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)) | lo | inf |
| 3.0ms | (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)) | lo | 0 |
| 3.0ms | (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) | lo | -inf |
| 1× | batch-egg-rewrite |
| 430× | prod-diff_binary64 |
| 255× | fma-def_binary64 |
| 178× | log1p-udef_binary64 |
| 177× | expm1-udef_binary64 |
| 157× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 44 |
| 1 | 220 | 43 |
| 2 | 2809 | 43 |
| 1× | node limit |
| 1× | egg-herbie |
| 1251× | fma-def_binary64 |
| 495× | unswap-sqr_binary64 |
| 349× | times-frac_binary64 |
| 221× | associate-/l*_binary64 |
| 220× | *-commutative_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 1167 |
| 1 | 39 | 1167 |
| 2 | 86 | 942 |
| 3 | 311 | 942 |
| 4 | 1943 | 906 |
| 5 | 3474 | 906 |
| 6 | 4419 | 906 |
| 1× | node limit |
17 alts after pruning (17 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 190 | 14 | 204 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 191 | 17 | 208 |
| Status | Error | Program |
| 52.0b | (+.f64 (/.f64 hi lo) (+.f64 1 (-.f64 (*.f64 (/.f64 hi lo) (-.f64 (/.f64 hi lo) (/.f64 x lo))) (/.f64 x lo)))) | |
| ▶ | 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) 2)))) |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 3) (/.f64 lo hi))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (*.f64 (/.f64 lo hi) (+.f64 (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 2))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (cbrt.f64 (pow.f64 (pow.f64 (/.f64 lo hi) 3) 3))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 lo hi) 3))) (exp.f64 (pow.f64 (/.f64 lo hi) 2)))))) | |
| 52.0b | (-.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 1 (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (/.f64 x lo)) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (log.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 3)))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (log.f64 (+.f64 1 (expm1.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2))))))) | |
| 57.9b | (+.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 (pow.f64 (/.f64 hi lo) 3) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (-.f64 1 (/.f64 x lo))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (/.f64 1 (pow.f64 (/.f64 hi lo) 3))))) | |
| 55.5b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (*.f64 (*.f64 (pow.f64 (/.f64 lo hi) 2) lo) (/.f64 1 hi))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (*.f64 lo (*.f64 (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 2)))))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (/.f64 lo hi) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 1 (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (fma.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) -1)))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (log.f64 (+.f64 1 (expm1.f64 (pow.f64 (/.f64 lo hi) 3))))))) |
Compiled 8874 to 3237 computations (63.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.6b | (pow.f64 (/.f64 lo hi) 2) |
| 0.8b | (pow.f64 (/.f64 lo hi) 3) | |
| 1.6b | (+.f64 (/.f64 lo hi) 1) | |
| ✓ | 1.7b | (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) |
12 calls:
| 15.0ms | (pow.f64 (/.f64 lo hi) 2) | lo | -inf |
| 8.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) | lo | inf |
| 7.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) | lo | -inf |
| 7.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) | lo | 0 |
| 3.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) | hi | 0 |
| 1× | batch-egg-rewrite |
| 430× | log-prod_binary64 |
| 309× | fma-def_binary64 |
| 169× | fma-neg_binary64 |
| 162× | pow1/3_binary64 |
| 162× | expm1-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 209 | 23 |
| 2 | 2678 | 23 |
| 1× | node limit |
| 1× | egg-herbie |
| 1227× | fma-def_binary64 |
| 495× | unswap-sqr_binary64 |
| 349× | times-frac_binary64 |
| 223× | *-commutative_binary64 |
| 221× | associate-/l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 696 |
| 1 | 32 | 696 |
| 2 | 82 | 597 |
| 3 | 310 | 597 |
| 4 | 1933 | 597 |
| 5 | 3463 | 597 |
| 6 | 4346 | 597 |
| 1× | node limit |
20 alts after pruning (20 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 191 | 15 | 206 |
| Fresh | 11 | 5 | 16 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 203 | 20 | 223 |
| Status | Error | Program |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 lo hi) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2)) (cbrt.f64 (/.f64 lo hi)) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 57.9b | (+.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 (pow.f64 (/.f64 hi lo) 3) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (-.f64 1 (/.f64 x lo))) | |
| 54.7b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 lo hi) lo) (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 52.0b | (+.f64 (/.f64 hi lo) (+.f64 1 (-.f64 (*.f64 (/.f64 hi lo) (-.f64 (/.f64 hi lo) (/.f64 x lo))) (/.f64 x lo)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) -1) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) (*.f64 (cbrt.f64 (/.f64 lo hi)) (/.f64 lo hi)) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 57.0b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (pow.f64 (/.f64 lo hi) 3) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) (*.f64 (cbrt.f64 (/.f64 lo hi)) (/.f64 lo hi)))) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 lo (*.f64 (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 2)) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 1 (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 lo (*.f64 (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 2))) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 lo (*.f64 (/.f64 1 hi) (/.f64 lo hi)) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 3) (/.f64 lo hi)) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2))) (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2)))))) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 (/.f64 hi lo) 3)) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (/.f64 lo hi) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 55.5b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (*.f64 (*.f64 (pow.f64 (/.f64 lo hi) 2) lo) (/.f64 1 hi))))) | |
| ▶ | 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 lo (*.f64 (/.f64 1 hi) (/.f64 lo hi)))) 2)))) | |
| 52.0b | (-.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 1 (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (/.f64 x lo)) |
Compiled 9813 to 4445 computations (54.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.8b | (pow.f64 (/.f64 lo hi) 3) | |
| 1.6b | (+.f64 (/.f64 lo hi) 1) | |
| ✓ | 1.7b | (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) |
| ✓ | 18.6b | (/.f64 lo (*.f64 (/.f64 hi lo) hi)) |
12 calls:
| 8.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) | lo | -inf |
| 7.0ms | (/.f64 lo (*.f64 (/.f64 hi lo) hi)) | lo | inf |
| 7.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) | lo | inf |
| 7.0ms | (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) | lo | 0 |
| 6.0ms | (/.f64 lo (*.f64 (/.f64 hi lo) hi)) | lo | -inf |
| 1× | batch-egg-rewrite |
| 331× | fma-def_binary64 |
| 231× | log-div_binary64 |
| 192× | expm1-udef_binary64 |
| 192× | log1p-udef_binary64 |
| 181× | fma-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 29 |
| 1 | 236 | 23 |
| 2 | 3516 | 23 |
| 1× | node limit |
| 1× | egg-herbie |
| 1227× | fma-def_binary64 |
| 495× | unswap-sqr_binary64 |
| 349× | times-frac_binary64 |
| 223× | *-commutative_binary64 |
| 221× | associate-/l*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 696 |
| 1 | 32 | 696 |
| 2 | 82 | 597 |
| 3 | 310 | 597 |
| 4 | 1933 | 597 |
| 5 | 3463 | 597 |
| 6 | 4346 | 597 |
| 1× | node limit |
25 alts after pruning (25 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 213 | 16 | 229 |
| Fresh | 10 | 9 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 224 | 25 | 249 |
| Status | Error | Program |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (/.f64 (pow.f64 (cbrt.f64 lo) 2) (pow.f64 (cbrt.f64 (*.f64 hi (/.f64 hi lo))) 2)) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2))) 2)))) | |
| 57.9b | (+.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 (pow.f64 (/.f64 hi lo) 3) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (-.f64 1 (/.f64 x lo))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) -1) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 lo (*.f64 (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 2))) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) 1)) -1) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 hi (/.f64 hi lo))) 2)) (/.f64 lo (cbrt.f64 (*.f64 hi (/.f64 hi lo)))))) 2)))) | |
| 52.0b | (+.f64 (/.f64 hi lo) (+.f64 1 (-.f64 (*.f64 (/.f64 hi lo) (-.f64 (/.f64 hi lo) (/.f64 x lo))) (/.f64 x lo)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (/.f64 lo hi) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 3) (/.f64 lo hi)) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (/.f64 (pow.f64 (cbrt.f64 lo) 2) 1) (/.f64 (cbrt.f64 lo) (*.f64 hi (/.f64 hi lo))))) 2)))) | |
| 55.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 lo hi) 2) lo) (/.f64 1 hi)) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.9b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 1 (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (fma.f64 (/.f64 lo hi) (/.f64 lo hi) (pow.f64 (/.f64 lo hi) 3)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 lo (*.f64 (/.f64 1 hi) (pow.f64 (/.f64 lo hi) 2))) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 2) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 3) (/.f64 lo hi)) (pow.f64 (/.f64 lo hi) 2)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2))) (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 lo hi) 2)))))) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 lo hi) 3) 3)) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 2) 3)) 2)))) | |
| 52.0b | (-.f64 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (-.f64 1 (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (/.f64 x lo)) | |
| 57.0b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (pow.f64 (/.f64 lo hi) 3) 2)))) | |
| 51.3b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (/.f64 1 (pow.f64 (/.f64 hi lo) 3)) (/.f64 lo (*.f64 (/.f64 hi lo) hi))) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 lo) 2) (/.f64 hi lo)) (/.f64 (cbrt.f64 lo) hi) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 lo (/.f64 (/.f64 lo hi) hi))) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 lo) 2) hi) (/.f64 (cbrt.f64 lo) (/.f64 hi lo)) (pow.f64 (/.f64 lo hi) 3)) 2)))) | |
| 51.4b | (+.f64 (*.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))) (-.f64 (/.f64 (-.f64 x lo) hi) (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (cbrt.f64 lo) 2) (*.f64 (cbrt.f64 lo) (/.f64 (/.f64 lo hi) hi)) (pow.f64 (/.f64 lo hi) 3)) 2)))) |
Compiled 10532 to 4389 computations (58.3% saved)
Total 0.5b remaining (0.9%)
Threshold costs 0.5b (0.9%)
Compiled 23274 to 13012 computations (44.1% saved)
| 1× | egg-herbie |
| 6× | +-commutative_binary64 |
| 4× | *-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 51 |
| 1 | 29 | 51 |
| 2 | 37 | 51 |
| 3 | 41 | 51 |
| 4 | 43 | 51 |
| 1× | saturated |
| 1× | fuel |
Compiled 1157 to 659 computations (43% saved)
Loading profile data...