Time bar (total: 21.5s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.6% | 0.4% | 0 |
| 0% | 99.6% | 0.4% | 1 |
| 0% | 99.6% | 0.4% | 2 |
| 0% | 99.6% | 0.4% | 3 |
| 0% | 99.6% | 0.4% | 4 |
| 0% | 99.6% | 0.4% | 5 |
| 0% | 99.6% | 0.4% | 6 |
| 0% | 99.6% | 0.4% | 7 |
| 0% | 74.7% | 25.3% | 8 |
| 0% | 74.7% | 25.3% | 9 |
| 0% | 65.4% | 34.6% | 10 |
| 0% | 51.4% | 48.6% | 11 |
| 0% | 51.4% | 48.6% | 12 |
| 0% | 51.4% | 48.6% | 13 |
| 0% | 51.4% | 48.6% | 14 |
Compiled 30 to 21 computations (30% saved)
(sort z t a)
| 4.3s | 11341× | body | 128 | invalid |
| 3.4s | 8253× | body | 128 | valid |
| 2.0ms | 2× | body | 512 | valid |
| 1.0ms | 1× | body | 1024 | valid |
Compiled 89 to 62 computations (30.3% saved)
| 1× | egg-herbie |
| 2664× | associate-+l+_binary64 |
| 1041× | associate-+r+_binary64 |
| 923× | +-commutative_binary64 |
| 750× | fma-def_binary64 |
| 5× | *-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 30 |
| 1 | 41 | 26 |
| 2 | 109 | 26 |
| 3 | 376 | 26 |
| 4 | 1118 | 26 |
| 5 | 1592 | 26 |
| 6 | 1698 | 26 |
| 7 | 1698 | 26 |
| 8 | 1698 | 26 |
| 9 | 1698 | 26 |
| 10 | 2706 | 26 |
| 11 | 2958 | 26 |
| 12 | 2958 | 26 |
| 13 | 2910 | 26 |
| 14 | 2910 | 26 |
| 15 | 2540 | 26 |
| 16 | 2524 | 26 |
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 |
| ▶ | 0.1b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) |
Compiled 99 to 61 computations (38.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) |
| ✓ | 0.1b | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)) |
| ✓ | 0.1b | (fma.f64 x (log.f64 y) z) |
3 calls:
| 1.4s | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)) |
| 313.0ms | (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) |
| 215.0ms | (fma.f64 x (log.f64 y) z) |
| 2× | batch-egg-rewrite |
| 322× | expm1-udef_binary64 |
| 322× | log1p-udef_binary64 |
| 178× | add-sqr-sqrt_binary64 |
| 169× | log1p-expm1-u_binary64 |
| 169× | expm1-log1p-u_binary64 |
3 calls:
| 103.0ms | (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) |
| 103.0ms | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)) |
| 103.0ms | (fma.f64 x (log.f64 y) z) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 42 |
| 1 | 343 | 42 |
| 2 | 4381 | 42 |
| 3 | 5295 | 42 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 523× | associate--r+_binary64 |
| 502× | fma-neg_binary64 |
| 464× | unsub-neg_binary64 |
| 445× | distribute-neg-in_binary64 |
| 405× | sub-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 2921 |
| 1 | 243 | 2919 |
| 2 | 671 | 2696 |
| 3 | 2141 | 2696 |
| 4 | 4038 | 2696 |
| 5 | 4912 | 2696 |
| 6 | 5138 | 2696 |
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 123 | 4 | 127 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 123 | 5 | 128 |
| Status | Error | Program |
| ✓ | 0.1b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) |
| 56.0b | (fma.f64 y i (/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) 3) (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 3)) (+.f64 (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (*.f64 (-.f64 b 1/2) (log.f64 c))) (-.f64 (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 2) (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) | |
| 49.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2) t) a))) | |
| ▶ | 0.5b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a))) |
| 0.6b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
Compiled 3390 to 1244 computations (63.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a)) |
| 0.1b | (fma.f64 x (log.f64 y) z) | |
| ✓ | 0.6b | (cbrt.f64 (fma.f64 x (log.f64 y) z)) |
| ✓ | 0.7b | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) |
3 calls:
| 2.5s | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) |
| 743.0ms | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a)) |
| 422.0ms | (cbrt.f64 (fma.f64 x (log.f64 y) z)) |
| 2× | batch-egg-rewrite |
| 351× | log1p-udef_binary64 |
| 196× | add-sqr-sqrt_binary64 |
| 189× | log1p-expm1-u_binary64 |
| 189× | expm1-log1p-u_binary64 |
| 184× | add-log-exp_binary64 |
3 calls:
| 71.0ms | (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a)) |
| 71.0ms | (cbrt.f64 (fma.f64 x (log.f64 y) z)) |
| 71.0ms | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 38 |
| 1 | 390 | 38 |
| 2 | 4818 | 38 |
| 3 | 5273 | 38 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 699× | fma-def_binary64 |
| 265× | cancel-sign-sub-inv_binary64 |
| 200× | associate-/r/_binary64 |
| 197× | fma-neg_binary64 |
| 178× | unswap-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 213 | 4427 |
| 1 | 699 | 4343 |
| 2 | 2410 | 3868 |
| 3 | 4811 | 3834 |
| 4 | 4998 | 3834 |
| 5 | 4958 | 3834 |
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 182 | 0 | 182 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 182 | 5 | 187 |
| Status | Error | Program |
| ✓ | 0.1b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) |
| 56.0b | (fma.f64 y i (/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) 3) (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 3)) (+.f64 (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (*.f64 (-.f64 b 1/2) (log.f64 c))) (-.f64 (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 2) (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) | |
| 49.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2) t) a))) | |
| ✓ | 0.5b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a))) |
| ▶ | 0.6b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
Compiled 6019 to 2975 computations (50.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (fma.f64 x (log.f64 y) z) | |
| ✓ | 0.4b | (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) |
| ✓ | 0.5b | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2) |
| 0.6b | (cbrt.f64 (fma.f64 x (log.f64 y) z)) |
2 calls:
| 652.0ms | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2) |
| 97.0ms | (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) |
| 2× | batch-egg-rewrite |
| 681× | log1p-expm1-u_binary64 |
| 681× | expm1-log1p-u_binary64 |
| 145× | expm1-udef_binary64 |
| 145× | log1p-udef_binary64 |
| 136× | log-pow_binary64 |
2 calls:
| 70.0ms | (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) |
| 70.0ms | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 177 | 17 |
| 2 | 1803 | 17 |
| 3 | 4924 | 17 |
| 4 | 4921 | 17 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 893× | associate-/r*_binary64 |
| 458× | fma-def_binary64 |
| 277× | unswap-sqr_binary64 |
| 196× | associate-/r/_binary64 |
| 196× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 150 | 1973 |
| 1 | 495 | 1909 |
| 2 | 1847 | 1714 |
| 3 | 5535 | 1714 |
8 alts after pruning (5 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 293 | 3 | 296 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 293 | 8 | 301 |
| Status | Error | Program |
| ✓ | 0.1b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) |
| 56.0b | (fma.f64 y i (/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) 3) (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 3)) (+.f64 (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (*.f64 (-.f64 b 1/2) (log.f64 c))) (-.f64 (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 2) (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) | |
| 49.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2) t) a))) | |
| ✓ | 0.5b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a))) |
| ✓ | 0.6b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
| 49.4b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) | |
| ▶ | 0.7b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) 3) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
| 35.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)) z) t) a))) |
Compiled 12912 to 6120 computations (52.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.5b | (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2) | |
| 0.6b | (cbrt.f64 (fma.f64 x (log.f64 y) z)) | |
| ✓ | 0.6b | (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) |
| ✓ | 0.7b | (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) 3) |
2 calls:
| 488.0ms | (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) 3) |
| 441.0ms | (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) |
| 2× | batch-egg-rewrite |
| 714× | log1p-expm1-u_binary64 |
| 714× | expm1-log1p-u_binary64 |
| 149× | expm1-udef_binary64 |
| 149× | log1p-udef_binary64 |
| 91× | fma-neg_binary64 |
2 calls:
| 114.0ms | (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) |
| 114.0ms | (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) 3) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 20 |
| 1 | 178 | 19 |
| 2 | 1894 | 19 |
| 3 | 4988 | 19 |
| 4 | 4972 | 19 |
| 5 | 4930 | 19 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 892× | fma-def_binary64 |
| 351× | unswap-sqr_binary64 |
| 266× | associate-*r*_binary64 |
| 214× | times-frac_binary64 |
| 164× | associate-/r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 234 | 3216 |
| 1 | 818 | 3128 |
| 2 | 3233 | 2938 |
| 3 | 4971 | 2938 |
8 alts after pruning (4 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 328 | 0 | 328 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 328 | 8 | 336 |
| Status | Error | Program |
| ✓ | 0.1b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) |
| 56.0b | (fma.f64 y i (/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) 3) (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 3)) (+.f64 (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (*.f64 (-.f64 b 1/2) (log.f64 c))) (-.f64 (pow.f64 (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a) 2) (*.f64 (*.f64 (-.f64 b 1/2) (log.f64 c)) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))) | |
| 49.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2) t) a))) | |
| ✓ | 0.5b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 3) t) a))) |
| ✓ | 0.6b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
| 49.4b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 y) z)) 2)) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) | |
| ✓ | 0.7b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z))) 3) (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) z)) 2)) t) a))) |
| 35.3b | (fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)) z) t) a))) |
Compiled 17357 to 8973 computations (48.3% saved)
Total 0.0b remaining (26.8%)
Threshold costs 0.0b (26.8%)
Compiled 13867 to 9150 computations (34% saved)
| 1× | egg-herbie |
| 3× | +-commutative_binary64 |
| 1× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 26 |
| 1 | 23 | 26 |
| 2 | 24 | 26 |
| 3 | 23 | 26 |
(sort z t a)
Compiled 406 to 252 computations (37.9% saved)
Loading profile data...