Time bar (total: 3.3s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 50% | 50% | 0 |
| 0% | 50% | 50% | 1 |
| 0% | 50% | 50% | 2 |
| 0% | 50% | 50% | 3 |
| 37.5% | 12.5% | 50% | 4 |
| 43.7% | 6.2% | 50% | 5 |
| 46.9% | 3.1% | 50% | 6 |
| 48.4% | 1.6% | 50% | 7 |
| 49.2% | 0.8% | 50% | 8 |
| 49.6% | 0.4% | 50% | 9 |
| 49.8% | 0.2% | 50% | 10 |
| 49.9% | 0.1% | 50% | 11 |
| 49.9% | 0% | 50% | 12 |
| 50% | 0% | 50% | 13 |
| 50% | 0% | 50% | 14 |
Compiled 29 to 19 computations (34.5% saved)
| 1.4s | 8256× | body | 128 | valid |
Compiled 84 to 55 computations (34.5% saved)
| 1× | egg-herbie |
| 581× | associate-/r*_binary64 |
| 510× | distribute-rgt-in_binary64 |
| 489× | distribute-lft-in_binary64 |
| 463× | fma-neg_binary64 |
| 415× | associate-/r/_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 31 |
| 1 | 40 | 26 |
| 2 | 185 | 17 |
| 3 | 915 | 13 |
| 4 | 2340 | 13 |
| 5 | 4455 | 13 |
| 6 | 4958 | 13 |
| 7 | 5077 | 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.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 46.3b | (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
Compiled 107 to 73 computations (31.8% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 4 (/.f64 1 (*.f64 i i))) |
| ✓ | 0.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| ✓ | 0.5b | (/.f64 1 (*.f64 i i)) |
3 calls:
| 3.0ms | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 3.0ms | (/.f64 1 (*.f64 i i)) |
| 2.0ms | (-.f64 4 (/.f64 1 (*.f64 i i))) |
| 2× | batch-egg-rewrite |
| 77× | egg-rr |
2 calls:
| 77.0ms | ((/.f64 1 (*.f64 i i)) (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 30 |
| 1 | 202 | 21 |
| 2 | 2288 | 21 |
| 3 | 5374 | 21 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 590× | distribute-rgt-neg-in_binary64 |
| 538× | distribute-lft-neg-in_binary64 |
| 472× | associate-*l*_binary64 |
| 438× | fma-neg_binary64 |
| 414× | unswap-sqr_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 372 |
| 1 | 108 | 370 |
| 2 | 290 | 366 |
| 3 | 871 | 366 |
| 4 | 2646 | 366 |
| 5 | 4704 | 366 |
| 6 | 4924 | 366 |
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 98 | 1 | 99 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 98 | 3 | 101 |
| Status | Error | Program |
| ✓ | 0.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 46.3b | (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) | |
| ▶ | 30.6b | (neg.f64 (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))))) |
Compiled 1279 to 1067 computations (16.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))) |
| ✓ | 0.0b | (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8)))) |
| ✓ | 0.0b | (*.f64 i (fma.f64 i i 1/4)) |
3 calls:
| 5.0ms | (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8)))) |
| 5.0ms | (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))) |
| 3.0ms | (*.f64 i (fma.f64 i i 1/4)) |
| 2× | batch-egg-rewrite |
| 103× | egg-rr |
2 calls:
| 67.0ms | ((*.f64 i (fma.f64 i i 1/4)) (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8)))) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8)))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 47 |
| 1 | 294 | 47 |
| 2 | 2892 | 47 |
| 3 | 4969 | 47 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 748× | unswap-sqr_binary64 |
| 714× | distribute-rgt-out_binary64 |
| 623× | sqr-pow_binary64 |
| 596× | distribute-lft-out_binary64 |
| 568× | *-commutative_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 452 |
| 1 | 64 | 432 |
| 2 | 153 | 420 |
| 3 | 411 | 420 |
| 4 | 1485 | 420 |
| 5 | 3328 | 420 |
| 6 | 3320 | 420 |
| 7 | 3674 | 420 |
| 8 | 4015 | 420 |
| 9 | 4425 | 420 |
| 10 | 4308 | 420 |
| 11 | 4708 | 420 |
| 12 | 4703 | 420 |
| 13 | 4935 | 420 |
| 14 | 4870 | 420 |
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 119 | 0 | 119 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 119 | 3 | 122 |
| Status | Error | Program |
| ✓ | 0.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| ▶ | 46.3b | (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| ✓ | 30.6b | (neg.f64 (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))))) |
Compiled 2940 to 2101 computations (28.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1) |
| ✓ | 0.1b | (*.f64 (*.f64 i i) (*.f64 i i)) |
| ✓ | 15.0b | (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| ✓ | 42.4b | (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) |
4 calls:
| 4.0ms | (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| 3.0ms | (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) |
| 2.0ms | (*.f64 (*.f64 i i) (*.f64 i i)) |
| 2.0ms | (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1) |
| 2× | batch-egg-rewrite |
| 159× | egg-rr |
2 calls:
| 86.0ms | ((/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) (*.f64 (*.f64 i i) (*.f64 i i)) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 61 |
| 1 | 255 | 48 |
| 2 | 3542 | 48 |
| 3 | 4998 | 48 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 602× | distribute-rgt-neg-in_binary64 |
| 550× | distribute-lft-neg-in_binary64 |
| 485× | associate-*l*_binary64 |
| 444× | fma-neg_binary64 |
| 414× | unswap-sqr_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 408 |
| 1 | 110 | 406 |
| 2 | 292 | 402 |
| 3 | 864 | 402 |
| 4 | 2624 | 402 |
| 5 | 4683 | 402 |
| 6 | 4968 | 402 |
| 7 | 4932 | 402 |
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 180 | 1 | 181 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 2 | 2 |
| Total | 181 | 3 | 184 |
| Status | Error | Program |
| ✓ | 30.6b | (neg.f64 (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))))) |
| ✓ | 0.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| ▶ | 47.3b | (*.f64 (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) |
Compiled 4294 to 2906 computations (32.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1)) |
| ✓ | 0.5b | (/.f64 1/4 (*.f64 i i)) |
| ✓ | 2.8b | (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) |
| ✓ | 43.7b | (*.f64 (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) |
4 calls:
| 4.0ms | (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1)) |
| 4.0ms | (*.f64 (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) |
| 3.0ms | (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) |
| 2.0ms | (/.f64 1/4 (*.f64 i i)) |
| 2× | batch-egg-rewrite |
| 156× | egg-rr |
2 calls:
| 105.0ms | ((*.f64 (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 1/4 (*.f64 i i)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) |
| 0.0ms | () |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 59 |
| 1 | 321 | 59 |
| 2 | 3936 | 59 |
| 3 | 4844 | 59 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 863× | fma-neg_binary64 |
| 673× | cancel-sign-sub-inv_binary64 |
| 391× | unswap-sqr_binary64 |
| 343× | fma-def_binary64 |
| 266× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 699 |
| 1 | 258 | 675 |
| 2 | 715 | 659 |
| 3 | 2067 | 643 |
| 4 | 4122 | 643 |
| 5 | 4935 | 643 |
3 alts after pruning (0 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 202 | 0 | 202 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 202 | 3 | 205 |
| Status | Error | Program |
| ✓ | 30.6b | (neg.f64 (fma.f64 i (*.f64 i (fma.f64 i i 1/4)) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8))))) |
| ✓ | 0.4b | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| ✓ | 47.3b | (*.f64 (/.f64 (pow.f64 i 4) (fma.f64 i 2 1)) (/.f64 (/.f64 1/4 (*.f64 i i)) (fma.f64 i 2 -1))) |
Compiled 4500 to 3293 computations (26.8% saved)
Total 0.3b remaining (99%)
Threshold costs 0.3b (99%)
Compiled 4376 to 3271 computations (25.3% saved)
| 1× | egg-herbie |
| 2× | +-commutative_binary64 |
| 2× | sub-neg_binary64 |
| 1× | *-commutative_binary64 |
| 1× | distribute-neg-frac_binary64 |
| 1× | neg-sub0_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 13 |
| 1 | 13 | 13 |
| 2 | 19 | 13 |
| 3 | 21 | 13 |
| 4 | 22 | 13 |
| 5 | 20 | 13 |
Compiled 70 to 53 computations (24.3% saved)
Loading profile data...