Time bar (total: 20.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 |
| 6.2% | 93.6% | 0.1% | 6 |
| 12.5% | 87.4% | 0.1% | 7 |
| 15.6% | 84.3% | 0.1% | 8 |
| 18.7% | 71.8% | 9.5% | 9 |
| 23.4% | 56% | 20.6% | 10 |
| 26.3% | 52.2% | 21.5% | 11 |
| 31% | 40.1% | 28.9% | 12 |
| 35.6% | 28.9% | 35.5% | 13 |
| 36.8% | 27.5% | 35.7% | 14 |
Compiled 18 to 12 computations (33.3% saved)
(sort x y z)
| 1.2s | 8256× | body | 128 | valid |
| 255.0ms | 2376× | body | 128 | invalid |
Compiled 53 to 35 computations (34% saved)
| 1× | egg-herbie |
| 25× | fma-def_binary64 |
| 8× | +-commutative_binary64 |
| 8× | *-commutative_binary64 |
| 5× | distribute-rgt-out_binary64 |
| 3× | associate-+r+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 18 |
| 1 | 23 | 16 |
| 2 | 43 | 16 |
| 3 | 59 | 16 |
| 4 | 61 | 16 |
| 5 | 62 | 16 |
| 6 | 62 | 16 |
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 |
| 18.1b | (*.f64 2 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))) | |
| ▶ | 18.1b | (*.f64 2 (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)))) |
Compiled 90 to 56 computations (37.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.6b | (+.f64 (*.f64 x y) (*.f64 x z)) |
| ✓ | 1.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)) |
| ✓ | 17.1b | (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))) |
3 calls:
| 110.0ms | (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))) |
| 10.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)) |
| 6.0ms | (+.f64 (*.f64 x y) (*.f64 x z)) |
| 2× | batch-egg-rewrite |
| 812× | fma-def_binary64 |
| 462× | fma-neg_binary64 |
| 205× | expm1-udef_binary64 |
| 205× | log1p-udef_binary64 |
| 203× | egg-rr |
3 calls:
| 99.0ms | (+.f64 (*.f64 x y) (*.f64 x z)) |
| 99.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z)) |
| 99.0ms | (sqrt.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 x z)) (*.f64 y z))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 35 |
| 1 | 222 | 31 |
| 2 | 3032 | 31 |
| 3 | 4992 | 31 |
| 4 | 5043 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 605× | cancel-sign-sub-inv_binary64 |
| 602× | associate-*l*_binary64 |
| 542× | associate-*r*_binary64 |
| 318× | times-frac_binary64 |
| 297× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 191 | 1448 |
| 1 | 506 | 1389 |
| 2 | 1816 | 1344 |
| 3 | 4609 | 1344 |
| 4 | 5322 | 1344 |
12 alts after pruning (12 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 220 | 12 | 232 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 222 | 12 | 234 |
| Status | Error | Program |
| 39.6b | (*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x)))) | |
| 18.6b | (*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3))) | |
| 30.2b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 x (+.f64 y z))))) | |
| 18.3b | (*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)) | |
| 18.6b | (*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))))) | |
| ▶ | 18.1b | (*.f64 2 (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x))))) |
| 45.5b | (*.f64 2 (fma.f64 1/2 (*.f64 z (+.f64 (sqrt.f64 (/.f64 x y)) (sqrt.f64 (/.f64 y x)))) (sqrt.f64 (*.f64 y x)))) | |
| 41.2b | (*.f64 2 (sqrt.f64 (*.f64 y x))) | |
| 61.6b | (*.f64 2 (sqrt.f64 (*.f64 z x))) | |
| 40.8b | (*.f64 2 (sqrt.f64 (*.f64 y z))) | |
| 41.0b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 x (+.f64 y z))))) | |
| 22.3b | (*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z))))) |
Compiled 5373 to 2276 computations (57.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 z (+.f64 y x)) |
| ✓ | 0.7b | (fma.f64 y x (*.f64 z (+.f64 y x))) |
| ✓ | 17.1b | (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x)))) |
3 calls:
| 109.0ms | (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x)))) |
| 11.0ms | (*.f64 z (+.f64 y x)) |
| 8.0ms | (fma.f64 y x (*.f64 z (+.f64 y x))) |
| 2× | batch-egg-rewrite |
| 887× | expm1-log1p-u_binary64 |
| 858× | prod-diff_binary64 |
| 89× | add-sqr-sqrt_binary64 |
| 85× | log1p-expm1-u_binary64 |
| 83× | add-log-exp_binary64 |
3 calls:
| 57.0ms | (*.f64 z (+.f64 y x)) |
| 57.0ms | (fma.f64 y x (*.f64 z (+.f64 y x))) |
| 57.0ms | (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x)))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 31 |
| 1 | 173 | 31 |
| 2 | 2213 | 31 |
| 3 | 5472 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 605× | cancel-sign-sub-inv_binary64 |
| 602× | associate-*l*_binary64 |
| 542× | associate-*r*_binary64 |
| 318× | times-frac_binary64 |
| 297× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 190 | 1364 |
| 1 | 503 | 1305 |
| 2 | 1812 | 1260 |
| 3 | 4605 | 1260 |
| 4 | 5318 | 1260 |
12 alts after pruning (11 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 113 | 1 | 114 |
| Fresh | 1 | 10 | 11 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 114 | 12 | 126 |
| Status | Error | Program |
| 39.6b | (*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x)))) | |
| 18.6b | (*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3))) | |
| 45.5b | (*.f64 2 (fma.f64 1/2 (*.f64 z (+.f64 (sqrt.f64 (/.f64 x y)) (sqrt.f64 (/.f64 y x)))) (sqrt.f64 (*.f64 y x)))) | |
| 40.0b | (*.f64 2 (sqrt.f64 (*.f64 x (+.f64 z y)))) | |
| 30.2b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 x (+.f64 y z))))) | |
| ▶ | 18.3b | (*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)) |
| 18.6b | (*.f64 2 (*.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) (cbrt.f64 (sqrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)))))) | |
| ✓ | 18.1b | (*.f64 2 (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x))))) |
| 41.2b | (*.f64 2 (sqrt.f64 (*.f64 y x))) | |
| 40.8b | (*.f64 2 (sqrt.f64 (*.f64 y z))) | |
| 41.0b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 x (+.f64 y z))))) | |
| 22.3b | (*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z))))) |
Compiled 2973 to 1478 computations (50.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (fma.f64 x (+.f64 y z) (*.f64 y z)) |
| ✓ | 0.5b | (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2) |
| ✓ | 17.4b | (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) |
3 calls:
| 83.0ms | (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2) |
| 53.0ms | (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) |
| 9.0ms | (fma.f64 x (+.f64 y z) (*.f64 y z)) |
| 2× | batch-egg-rewrite |
| 750× | prod-diff_binary64 |
| 542× | fma-udef_binary64 |
| 304× | fma-def_binary64 |
| 203× | fma-neg_binary64 |
| 194× | expm1-udef_binary64 |
3 calls:
| 113.0ms | (fma.f64 x (+.f64 y z) (*.f64 y z)) |
| 113.0ms | (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2) |
| 113.0ms | (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 39 |
| 1 | 240 | 38 |
| 2 | 2631 | 38 |
| 3 | 4734 | 38 |
| 4 | 4706 | 38 |
| 5 | 4972 | 38 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 718× | times-frac_binary64 |
| 534× | fma-def_binary64 |
| 469× | associate-/l*_binary64 |
| 251× | *-commutative_binary64 |
| 132× | cancel-sign-sub-inv_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 622 | 6589 |
| 1 | 2078 | 6304 |
| 2 | 5199 | 6304 |
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 221 | 2 | 223 |
| Fresh | 6 | 4 | 10 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 227 | 8 | 235 |
| Status | Error | Program |
| 30.2b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 x (+.f64 y z))))) | |
| ✓ | 18.3b | (*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)) |
| ▶ | 18.6b | (*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3))) |
| 37.0b | (*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2)) | |
| ✓ | 18.1b | (*.f64 2 (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x))))) |
| 32.9b | (*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2)) | |
| 41.0b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 x (+.f64 y z))))) | |
| 22.3b | (*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z))))) |
Compiled 10340 to 5903 computations (42.9% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.3b | (fma.f64 x (+.f64 y z) (*.f64 y z)) | |
| ✓ | 0.5b | (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3) |
| ✓ | 17.1b | (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3)) |
| ✓ | 17.7b | (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) |
3 calls:
| 13.4s | (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3) |
| 114.0ms | (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3)) |
| 53.0ms | (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) |
| 2× | batch-egg-rewrite |
| 750× | prod-diff_binary64 |
| 532× | fma-udef_binary64 |
| 311× | fma-def_binary64 |
| 203× | fma-neg_binary64 |
| 180× | expm1-udef_binary64 |
3 calls:
| 116.0ms | (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3) |
| 116.0ms | (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3)) |
| 116.0ms | (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 37 |
| 1 | 213 | 37 |
| 2 | 2505 | 37 |
| 3 | 4710 | 37 |
| 4 | 4684 | 37 |
| 5 | 4955 | 37 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 484× | fma-def_binary64 |
| 435× | associate-*l*_binary64 |
| 418× | times-frac_binary64 |
| 320× | associate-/r*_binary64 |
| 290× | associate-/l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 531 | 5269 |
| 1 | 1725 | 5008 |
| 2 | 5559 | 5008 |
8 alts after pruning (5 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 275 | 0 | 275 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 275 | 8 | 283 |
| Status | Error | Program |
| 30.2b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) y) (*.f64 x (+.f64 y z))))) | |
| ✓ | 18.3b | (*.f64 2 (pow.f64 (pow.f64 (fma.f64 x (+.f64 y z) (*.f64 y z)) 1/4) 2)) |
| ✓ | 18.6b | (*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 y z) (*.f64 y z))) 3))) |
| 37.0b | (*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2)) | |
| ✓ | 18.1b | (*.f64 2 (sqrt.f64 (fma.f64 y x (*.f64 z (+.f64 y x))))) |
| 32.9b | (*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2)) | |
| 41.0b | (*.f64 2 (sqrt.f64 (fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) z) (*.f64 x (+.f64 y z))))) | |
| 22.3b | (*.f64 2 (sqrt.f64 (fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) z) (*.f64 x (+.f64 y z))))) |
Compiled 9238 to 4859 computations (47.4% saved)
Total 2.4b remaining (52.9%)
Threshold costs 0b (0%)
Compiled 6128 to 4196 computations (31.5% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 7 | 5.6660096666677866e+41 | 4.302850915418598e+43 | 4.247940556637857e+43 |
| 8 | 9.954176946213014e-236 | 1.0999934010201603e-232 | 1.010928485720324e-235 |
| 12 | -8.324565990360531e-305 | 1.8793821612069284e-270 | 1.863229279770189e-270 |
| 10 | -1.2192672032441498e-164 | -3.690785170976697e-176 | -7.079352293701776e-176 |
| 7 | -28146690579458.563 | -403390882349.5441 | -27725273429553.94 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 11× | *-commutative_binary64 |
| 9× | +-commutative_binary64 |
| 7× | sub-neg_binary64 |
| 5× | neg-sub0_binary64 |
| 5× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 47 | 166 |
| 1 | 66 | 166 |
| 2 | 80 | 166 |
| 3 | 90 | 166 |
| 4 | 94 | 166 |
| 5 | 93 | 166 |
Compiled 587 to 397 computations (32.4% saved)
Loading profile data...