Time bar (total: 5.0s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 0% | 99.8% | 0.2% | 5 |
| 0% | 99.8% | 0.2% | 6 |
| 0% | 99.8% | 0.2% | 7 |
| 0% | 99.8% | 0.2% | 8 |
| 6.2% | 93.6% | 0.2% | 9 |
| 28.1% | 68.6% | 3.3% | 10 |
| 29.6% | 65.5% | 4.9% | 11 |
| 32% | 61.7% | 6.3% | 12 |
| 35.5% | 56.9% | 7.6% | 13 |
| 48% | 38.7% | 13.4% | 14 |
Compiled 20 to 12 computations (40% saved)
(sort d2 d4)
| 997.0ms | 8256× | body | 128 | valid |
| 319.0ms | 2317× | body | 128 | invalid |
Compiled 59 to 35 computations (40.7% saved)
| 1× | egg-herbie |
| 1400× | fma-neg_binary64 |
| 654× | fma-def_binary64 |
| 233× | sub-neg_binary64 |
| 210× | unsub-neg_binary64 |
| 158× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 19 |
| 1 | 32 | 14 |
| 2 | 94 | 13 |
| 3 | 263 | 13 |
| 4 | 655 | 13 |
| 5 | 1556 | 13 |
| 6 | 1691 | 13 |
| 7 | 1500 | 13 |
| 8 | 1500 | 13 |
| 9 | 2739 | 13 |
| 10 | 2707 | 13 |
| 11 | 2707 | 13 |
| 12 | 2632 | 13 |
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 |
| ▶ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
| 0.0b | (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) |
Compiled 92 to 53 computations (42.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
| ✓ | 0.0b | (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) |
| ✓ | 0.0b | (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) |
3 calls:
| 100.0ms | (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) |
| 27.0ms | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
| 16.0ms | (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) |
| 2× | batch-egg-rewrite |
| 712× | fma-neg_binary64 |
| 265× | expm1-udef_binary64 |
| 265× | log1p-udef_binary64 |
| 238× | egg-rr |
| 148× | add-sqr-sqrt_binary64 |
3 calls:
| 104.0ms | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
| 104.0ms | (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) |
| 104.0ms | (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 39 |
| 1 | 284 | 31 |
| 2 | 4021 | 31 |
| 3 | 5544 | 31 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 920× | unsub-neg_binary64 |
| 689× | distribute-rgt-out--_binary64 |
| 678× | distribute-rgt-neg-in_binary64 |
| 613× | fabs-mul_binary64 |
| 568× | distribute-lft-neg-in_binary64 |
Useful iterations: 10 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 1589 |
| 1 | 99 | 1342 |
| 2 | 220 | 1227 |
| 3 | 587 | 1227 |
| 4 | 1624 | 1227 |
| 5 | 2778 | 1227 |
| 6 | 3226 | 1227 |
| 7 | 3589 | 1227 |
| 8 | 4122 | 1227 |
| 9 | 4229 | 1227 |
| 10 | 4329 | 1209 |
| 11 | 3378 | 1209 |
| 12 | 3625 | 1209 |
| 13 | 4160 | 1209 |
| 14 | 4566 | 1209 |
| 15 | 4996 | 1209 |
| 16 | 4901 | 1209 |
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 260 | 3 | 263 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 261 | 4 | 265 |
| Status | Error | Program |
| 0.0b | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) | |
| ▶ | 0.0b | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
| ✓ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
| 28.7b | (/.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))) |
Compiled 5326 to 1207 computations (77.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 d1 (-.f64 d2 d3)) |
| ✓ | 0.0b | (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) |
| ✓ | 0.0b | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
3 calls:
| 69.0ms | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
| 12.0ms | (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) |
| 7.0ms | (*.f64 d1 (-.f64 d2 d3)) |
| 2× | batch-egg-rewrite |
| 562× | log-prod_binary64 |
| 431× | fma-def_binary64 |
| 209× | expm1-udef_binary64 |
| 209× | log1p-udef_binary64 |
| 194× | fma-neg_binary64 |
3 calls:
| 114.0ms | (*.f64 d1 (-.f64 d2 d3)) |
| 114.0ms | (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) |
| 114.0ms | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 35 |
| 1 | 223 | 33 |
| 2 | 2913 | 33 |
| 3 | 5631 | 33 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 938× | fma-neg_binary64 |
| 776× | unsub-neg_binary64 |
| 604× | cancel-sign-sub-inv_binary64 |
| 502× | associate-*r*_binary64 |
| 337× | neg-sub0_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 28 | 1469 |
| 1 | 86 | 1258 |
| 2 | 193 | 1143 |
| 3 | 527 | 1143 |
| 4 | 1546 | 1143 |
| 5 | 3890 | 1143 |
| 6 | 4111 | 1143 |
| 7 | 4949 | 1143 |
| 8 | 4973 | 1143 |
| 9 | 4921 | 1143 |
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 184 | 1 | 185 |
| Fresh | 1 | 1 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 185 | 4 | 189 |
| Status | Error | Program |
| 0.0b | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) | |
| ✓ | 0.0b | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
| ▶ | 0.0b | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| ✓ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
Compiled 3624 to 862 computations (76.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| ✓ | 0.0b | (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) |
2 calls:
| 18.0ms | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| 10.0ms | (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) |
| 2× | batch-egg-rewrite |
| 484× | fma-def_binary64 |
| 233× | fma-neg_binary64 |
| 200× | expm1-udef_binary64 |
| 200× | log1p-udef_binary64 |
| 170× | log-pow_binary64 |
2 calls:
| 86.0ms | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| 86.0ms | (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 26 |
| 1 | 230 | 23 |
| 2 | 2927 | 23 |
| 3 | 4961 | 23 |
| 4 | 4945 | 23 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 565× | fma-neg_binary64 |
| 454× | cancel-sign-sub-inv_binary64 |
| 448× | distribute-rgt-neg-in_binary64 |
| 413× | associate-*l*_binary64 |
| 396× | distribute-rgt-out--_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 28 | 1255 |
| 1 | 75 | 1102 |
| 2 | 154 | 987 |
| 3 | 389 | 987 |
| 4 | 1190 | 987 |
| 5 | 2926 | 987 |
| 6 | 4315 | 987 |
| 7 | 4914 | 987 |
| 8 | 4958 | 987 |
| 9 | 4998 | 987 |
| 10 | 4943 | 987 |
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 104 | 0 | 104 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 104 | 4 | 108 |
| Status | Error | Program |
| ▶ | 0.0b | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) |
| ✓ | 0.0b | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
| ✓ | 0.0b | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| ✓ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
Compiled 1674 to 428 computations (74.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) |
1 calls:
| 19.0ms | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) |
| 2× | batch-egg-rewrite |
| 520× | log-prod_binary64 |
| 485× | fma-def_binary64 |
| 247× | fma-neg_binary64 |
| 195× | expm1-udef_binary64 |
| 195× | log1p-udef_binary64 |
1 calls:
| 61.0ms | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 16 |
| 1 | 227 | 14 |
| 2 | 2814 | 14 |
| 3 | 5551 | 14 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 636× | sub-neg_binary64 |
| 532× | fma-neg_binary64 |
| 445× | unswap-sqr_binary64 |
| 443× | distribute-rgt-neg-in_binary64 |
| 408× | cancel-sign-sub-inv_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 816 |
| 1 | 59 | 663 |
| 2 | 142 | 548 |
| 3 | 354 | 548 |
| 4 | 1116 | 548 |
| 5 | 2796 | 548 |
| 6 | 4186 | 548 |
| 7 | 4498 | 548 |
| 8 | 5304 | 548 |
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 50 | 0 | 50 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 50 | 4 | 54 |
| Status | Error | Program |
| ✓ | 0.0b | (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1))) |
| ✓ | 0.0b | (-.f64 (fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d1)) |
| ✓ | 0.0b | (fma.f64 d1 (neg.f64 d1) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) |
| ✓ | 0.0b | (-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1)) |
Compiled 741 to 195 computations (73.7% saved)
Total 0.0b remaining (79.3%)
Threshold costs 0.0b (79.3%)
Compiled 5428 to 3314 computations (38.9% saved)
| 1× | egg-herbie |
| 4× | +-commutative_binary64 |
| 3× | *-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 16 |
| 1 | 18 | 16 |
| 2 | 23 | 16 |
| 3 | 26 | 16 |
| 4 | 27 | 16 |
| 5 | 27 | 16 |
(sort d2 d4)
Compiled 125 to 74 computations (40.8% saved)
Loading profile data...