Time bar (total: 3.3s)
| 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 |
| 25% | 74.9% | 0.1% | 6 |
| 93.7% | 6.2% | 0.1% | 7 |
| 96.8% | 3.1% | 0.1% | 8 |
| 99.5% | 0.4% | 0.1% | 9 |
| 99.7% | 0.2% | 0.1% | 10 |
| 99.8% | 0.1% | 0.1% | 11 |
| 99.9% | 0% | 0.1% | 12 |
| 99.9% | 0% | 0.1% | 13 |
| 99.9% | 0% | 0.1% | 14 |
Compiled 22 to 13 computations (40.9% saved)
| 1.2s | 8256× | body | 128 | valid |
Compiled 44 to 26 computations (40.9% saved)
| 2× | egg-herbie |
| 968× | fma-def_binary64 |
| 834× | fma-neg_binary64 |
| 302× | cancel-sign-sub-inv_binary64 |
| 287× | div-sub_binary64 |
| 232× | associate-/l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 52 |
| 1 | 44 | 48 |
| 2 | 102 | 48 |
| 3 | 217 | 48 |
| 4 | 462 | 48 |
| 5 | 889 | 48 |
| 6 | 1477 | 48 |
| 7 | 2476 | 48 |
| 8 | 4351 | 48 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
Compiled 21 to 12 computations (42.9% saved)
| 1× | egg-herbie |
| 620× | fma-def_binary64 |
| 456× | cancel-sign-sub-inv_binary64 |
| 430× | times-frac_binary64 |
| 358× | div-sub_binary64 |
| 252× | distribute-frac-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 26 |
| 1 | 24 | 24 |
| 2 | 56 | 24 |
| 3 | 114 | 24 |
| 4 | 240 | 24 |
| 5 | 457 | 24 |
| 6 | 723 | 24 |
| 7 | 987 | 24 |
| 8 | 1607 | 24 |
| 9 | 3745 | 24 |
| 1× | node limit |
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 |
| ▶ | 32.8b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
Compiled 80 to 45 computations (43.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| ✓ | 4.0b | (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) |
| ✓ | 32.1b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
18 calls:
| 10.0ms | (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) | x | inf |
| 3.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) | x | 0 |
| 2.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) | y | 0 |
| 2.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) | x | inf |
| 2.0ms | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) | x | -inf |
| 1× | batch-egg-rewrite |
| 450× | fma-def_binary64 |
| 279× | egg-rr |
| 230× | fma-neg_binary64 |
| 208× | expm1-udef_binary64 |
| 208× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 50 |
| 1 | 237 | 46 |
| 2 | 3393 | 46 |
| 1× | node limit |
| 1× | egg-herbie |
| 499× | associate-*l/_binary64 |
| 439× | associate-*r/_binary64 |
| 378× | fma-def_binary64 |
| 318× | associate-/r/_binary64 |
| 311× | cancel-sign-sub-inv_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 47 | 1038 |
| 1 | 124 | 984 |
| 2 | 352 | 972 |
| 3 | 1389 | 954 |
| 1× | node limit |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 298 | 3 | 301 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 298 | 4 | 302 |
| Status | Error | Program |
| 32.8b | (log.f64 (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) | |
| ✓ | 32.8b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| ▶ | 30.0b | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) |
| 32.9b | (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1) |
Compiled 9347 to 5340 computations (42.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) |
| ✓ | 0.2b | (*.f64 (/.f64 y x) (/.f64 y x)) |
12 calls:
| 10.0ms | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) | y | 0 |
| 10.0ms | (*.f64 (/.f64 y x) (/.f64 y x)) | y | inf |
| 6.0ms | (*.f64 (/.f64 y x) (/.f64 y x)) | y | -inf |
| 6.0ms | (*.f64 (/.f64 y x) (/.f64 y x)) | y | 0 |
| 5.0ms | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) | y | -inf |
| 1× | batch-egg-rewrite |
| 739× | log1p-expm1-u_binary64 |
| 739× | expm1-log1p-u_binary64 |
| 136× | log1p-udef_binary64 |
| 79× | add-sqr-sqrt_binary64 |
| 74× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 18 |
| 1 | 164 | 18 |
| 2 | 2054 | 18 |
| 1× | node limit |
| 1× | egg-herbie |
| 740× | associate-/r*_binary64 |
| 623× | associate-*l/_binary64 |
| 535× | associate-/l/_binary64 |
| 377× | associate-/r/_binary64 |
| 156× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 570 |
| 1 | 32 | 570 |
| 2 | 74 | 534 |
| 3 | 242 | 534 |
| 4 | 1326 | 534 |
| 1× | node limit |
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 65 | 0 | 65 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 65 | 4 | 69 |
| Status | Error | Program |
| ▶ | 32.8b | (log.f64 (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) |
| ✓ | 32.8b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| ✓ | 30.0b | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) |
| 32.9b | (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1) |
Compiled 874 to 545 computations (37.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))) |
| ✓ | 0.0b | (log.f64 (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) |
| ✓ | 3.0b | (fma.f64 y (*.f64 y -4) (*.f64 x x)) |
| ✓ | 32.1b | (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))) |
24 calls:
| 6.0ms | (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))) | y | 0 |
| 6.0ms | (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))) | x | -inf |
| 5.0ms | (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))) | x | 0 |
| 4.0ms | (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))) | y | inf |
| 3.0ms | (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))) | y | -inf |
| 1× | batch-egg-rewrite |
| 930× | expm1-log1p-u_binary64 |
| 565× | prod-diff_binary64 |
| 126× | add-sqr-sqrt_binary64 |
| 125× | egg-rr |
| 120× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 85 |
| 1 | 268 | 69 |
| 2 | 3322 | 69 |
| 1× | node limit |
| 1× | egg-herbie |
| 536× | fma-neg_binary64 |
| 376× | times-frac_binary64 |
| 362× | distribute-rgt-neg-in_binary64 |
| 280× | distribute-neg-frac_binary64 |
| 242× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 82 | 2085 |
| 1 | 225 | 2001 |
| 2 | 731 | 1947 |
| 3 | 3589 | 1923 |
| 1× | node limit |
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 125 | 1 | 126 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 125 | 5 | 130 |
| Status | Error | Program |
| ✓ | 32.8b | (log.f64 (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) |
| ✓ | 32.8b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| ✓ | 30.0b | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) |
| 32.9b | (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1) | |
| ▶ | 31.8b | (log.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) (exp.f64 -1))) |
Compiled 2867 to 2092 computations (27% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 y (/.f64 x y)) |
| ✓ | 0.2b | (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) |
| ✓ | 3.7b | (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) |
| ✓ | 18.7b | (log.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) (exp.f64 -1))) |
24 calls:
| 14.0ms | (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) | x | -inf |
| 9.0ms | (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) | x | -inf |
| 9.0ms | (log.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) (exp.f64 -1))) | y | inf |
| 9.0ms | (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) | x | 0 |
| 8.0ms | (log.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) (exp.f64 -1))) | x | -inf |
| 1× | batch-egg-rewrite |
| 221× | expm1-udef_binary64 |
| 221× | log1p-udef_binary64 |
| 193× | log-div_binary64 |
| 190× | log-pow_binary64 |
| 138× | egg-rr |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 57 |
| 1 | 250 | 57 |
| 2 | 3478 | 57 |
| 1× | node limit |
| 1× | egg-herbie |
| 434× | fma-neg_binary64 |
| 345× | associate-/r/_binary64 |
| 287× | sub-neg_binary64 |
| 202× | associate-/l/_binary64 |
| 198× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 1584 |
| 1 | 231 | 1578 |
| 2 | 732 | 1538 |
| 3 | 2859 | 1502 |
| 1× | node limit |
5 alts after pruning (1 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 169 | 0 | 169 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 169 | 5 | 174 |
| Status | Error | Program |
| ✓ | 32.8b | (log.f64 (exp.f64 (/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) |
| ✓ | 32.8b | (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) |
| ✓ | 30.0b | (fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1) |
| 32.9b | (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1) | |
| ✓ | 31.8b | (log.f64 (fma.f64 1/2 (*.f64 (/.f64 (exp.f64 -1) (/.f64 y (/.f64 x y))) x) (exp.f64 -1))) |
Compiled 3590 to 2340 computations (34.8% saved)
Total 13.8b remaining (98.9%)
Threshold costs 0b (0%)
Compiled 2437 to 1600 computations (34.3% saved)
| 8× | binary-search |
8 calls:
| 30.0ms | y |
| 21.0ms | y |
| 21.0ms | y |
| 20.0ms | y |
| 19.0ms | y |
| Iters | Point | Range | ||||
|---|---|---|---|---|---|---|
2.4640601155356646e+62 | ∈ [ | 2.122333170605815e+62 | , | 1.1474753309664864e+63 | ] | |
24356890242677384.0 | ∈ [ | 4159622120860769.5 | , | 234066370442816670.0 | ] | |
2.965025937488653e-115 | ∈ [ | 3.4493095959545627e-119 | , | 3.011416380072901e-113 | ] | |
-1.9158754988432684e-140 | ∈ [ | -6.071698387776014e-140 | , | -1.80155958082887e-143 | ] | |
-5.0558409145486e-114 | ∈ [ | -1.0647964215118965e-113 | , | -1.212094595332846e-115 | ] | |
-1.1545087867875005e-10 | ∈ [ | -3.7875015163591027e-6 | , | -1.0334643143294579e-10 | ] | |
-2.8779396213703784e+94 | ∈ [ | -2.926883090087508e+94 | , | -1.6238548446833534e+92 | ] | |
-3.68300159984312e+122 | ∈ [ | -8.67077198964372e+127 | , | -3.62521110853202e+122 | ] | |
Compiled 3 to 2 computations (33.3% saved)
| 1× | egg-herbie |
| 8× | *-commutative_binary64 |
| 5× | +-commutative_binary64 |
| 4× | distribute-rgt-neg-in_binary64 |
| 4× | sub-neg_binary64 |
| 3× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 199 |
| 1 | 76 | 199 |
| 2 | 90 | 199 |
| 3 | 96 | 199 |
| 4 | 100 | 199 |
| 5 | 101 | 199 |
| 1× | saturated |
| 1× | fuel |
Compiled 351 to 214 computations (39% saved)
Loading profile data...