Time bar (total: 4.8s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 37.5% | 62.5% | 0 |
| 0% | 37.5% | 62.5% | 1 |
| 0% | 18.7% | 81.3% | 2 |
| 0% | 9.4% | 90.6% | 3 |
| 0% | 9.4% | 90.6% | 4 |
| 0% | 7% | 93% | 5 |
| 1.2% | 4.7% | 94.1% | 6 |
| 1.2% | 3.5% | 95.3% | 7 |
| 1.8% | 2.6% | 95.6% | 8 |
| 2% | 1.9% | 96% | 9 |
| 2.4% | 1.3% | 96.3% | 10 |
| 2.6% | 1% | 96.5% | 11 |
| 2.7% | 0.7% | 96.6% | 12 |
| 2.8% | 0.5% | 96.7% | 13 |
| 2.9% | 0.3% | 96.7% | 14 |
Compiled 26 to 15 computations (42.3% saved)
| 966.0ms | 8256× | body | 128 | valid |
| 51.0ms | 421× | body | 128 | invalid |
Compiled 67 to 38 computations (43.3% saved)
| 1× | egg-herbie |
| 704× | fma-def_binary64 |
| 643× | fma-neg_binary64 |
| 603× | associate-/r*_binary64 |
| 566× | associate-*l*_binary64 |
| 362× | distribute-rgt-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 20 |
| 1 | 26 | 17 |
| 2 | 69 | 15 |
| 3 | 194 | 15 |
| 4 | 464 | 15 |
| 5 | 1521 | 15 |
| 6 | 4781 | 15 |
| 7 | 5160 | 15 |
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 |
| ▶ | 13.8b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))) |
Compiled 55 to 29 computations (47.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (*.f64 a a) (*.f64 b b)) |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))) |
| ✓ | 13.3b | (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)) |
3 calls:
| 24.0ms | (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)) |
| 24.0ms | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))) |
| 7.0ms | (-.f64 (*.f64 a a) (*.f64 b b)) |
| 3× | egg-rewrite |
| 120× | egg |
| 65× | egg |
| 30× | egg |
3 calls:
| 122.0ms | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))) |
| 93.0ms | (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)) |
| 60.0ms | (-.f64 (*.f64 a a) (*.f64 b b)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 16 |
| 1 | 169 | 13 |
| 2 | 2419 | 13 |
| 3 | 4778 | 13 |
| 4 | 4970 | 13 |
| 0 | 9 | 20 |
| 1 | 212 | 15 |
| 2 | 2703 | 15 |
| 3 | 4707 | 15 |
| 4 | 4641 | 14 |
| 5 | 5152 | 14 |
| 0 | 6 | 10 |
| 1 | 138 | 10 |
| 2 | 1710 | 10 |
| 3 | 5346 | 10 |
| 1× | egg-herbie |
| 735× | associate-/r*_binary64 |
| 707× | associate-/l/_binary64 |
| 519× | associate-/r/_binary64 |
| 498× | fma-def_binary64 |
| 444× | fma-neg_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 963 |
| 1 | 37 | 891 |
| 2 | 84 | 843 |
| 3 | 258 | 843 |
| 4 | 1055 | 843 |
| 5 | 4523 | 843 |
| 6 | 5163 | 843 |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 222 | 3 | 225 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 223 | 3 | 226 |
| Status | Error | Program |
| ▶ | 0.0b | (sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)))) |
| 0.8b | (sqrt.f64 (fabs.f64 1)) | |
| 13.8b | (exp.f64 (*.f64 (log1p.f64 (neg.f64 (/.f64 (*.f64 b b) (*.f64 a a)))) 1/2)) |
Compiled 5264 to 1883 computations (64.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)))) |
| ✓ | 0.0b | (/.f64 (+.f64 a b) a) |
| ✓ | 0.0b | (/.f64 (-.f64 a b) a) |
| ✓ | 0.0b | (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)) |
4 calls:
| 25.0ms | (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)) |
| 16.0ms | (sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)))) |
| 5.0ms | (/.f64 (-.f64 a b) a) |
| 5.0ms | (/.f64 (+.f64 a b) a) |
| 4× | egg-rewrite |
| 72× | egg |
| 54× | egg |
| 49× | egg |
| 29× | egg |
4 calls:
| 130.0ms | (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)) |
| 69.0ms | (sqrt.f64 (fabs.f64 (*.f64 (/.f64 (+.f64 a b) a) (/.f64 (-.f64 a b) a)))) |
| 50.0ms | (/.f64 (-.f64 a b) a) |
| 48.0ms | (/.f64 (+.f64 a b) a) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 16 |
| 1 | 193 | 16 |
| 2 | 3016 | 16 |
| 3 | 4922 | 16 |
| 4 | 4876 | 16 |
| 5 | 4971 | 16 |
| 0 | 5 | 7 |
| 1 | 119 | 7 |
| 2 | 1783 | 7 |
| 3 | 5369 | 7 |
| 0 | 5 | 7 |
| 1 | 115 | 7 |
| 2 | 1662 | 7 |
| 3 | 5032 | 7 |
| 0 | 10 | 20 |
| 1 | 236 | 15 |
| 2 | 3311 | 15 |
| 3 | 5056 | 15 |
| 1× | egg-herbie |
| 468× | cancel-sign-sub-inv_binary64 |
| 378× | div-sub_binary64 |
| 321× | fma-neg_binary64 |
| 291× | fma-def_binary64 |
| 261× | fabs-div_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 1041 |
| 1 | 74 | 1041 |
| 2 | 199 | 1041 |
| 3 | 639 | 1041 |
| 4 | 2781 | 1041 |
| 5 | 5183 | 1041 |
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 213 | 2 | 215 |
| Fresh | 2 | 0 | 2 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 216 | 2 | 218 |
| Status | Error | Program |
| 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) | |
| ▶ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
Compiled 3758 to 1187 computations (68.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (/.f64 a (+.f64 a b)) a) |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
| ✓ | 0.0b | (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)) |
| ✓ | 0.0b | (/.f64 a (+.f64 a b)) |
4 calls:
| 25.0ms | (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)) |
| 15.0ms | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
| 11.0ms | (*.f64 (/.f64 a (+.f64 a b)) a) |
| 9.0ms | (/.f64 a (+.f64 a b)) |
| 4× | egg-rewrite |
| 431× | egg |
| 45× | egg |
| 44× | egg |
| 30× | egg |
4 calls:
| 280.0ms | (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)) |
| 64.0ms | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
| 52.0ms | (*.f64 (/.f64 a (+.f64 a b)) a) |
| 46.0ms | (/.f64 a (+.f64 a b)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 7 |
| 1 | 115 | 7 |
| 2 | 1656 | 7 |
| 3 | 5010 | 7 |
| 0 | 8 | 16 |
| 1 | 192 | 16 |
| 2 | 3087 | 16 |
| 3 | 5054 | 16 |
| 0 | 10 | 20 |
| 1 | 235 | 17 |
| 2 | 3376 | 17 |
| 3 | 5339 | 17 |
| 0 | 6 | 10 |
| 1 | 136 | 10 |
| 2 | 1934 | 10 |
| 3 | 5654 | 10 |
| 1× | egg-herbie |
| 981× | fma-neg_binary64 |
| 498× | cancel-sign-sub-inv_binary64 |
| 319× | associate-/l/_binary64 |
| 180× | sub-neg_binary64 |
| 177× | distribute-neg-frac_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 1620 |
| 1 | 166 | 1620 |
| 2 | 506 | 1569 |
| 3 | 1881 | 1512 |
| 4 | 4372 | 1506 |
| 5 | 4993 | 1506 |
| 6 | 4951 | 1506 |
2 alts after pruning (1 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 581 | 0 | 581 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 581 | 2 | 583 |
| Status | Error | Program |
| ▶ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
Compiled 29263 to 4923 computations (83.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) |
| ✓ | 0.0b | (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a) |
| ✓ | 0.0b | (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) |
| 0.0b | (/.f64 (-.f64 a b) a) |
3 calls:
| 25.0ms | (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a) |
| 16.0ms | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) |
| 10.0ms | (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) |
| 3× | egg-rewrite |
| 67× | egg |
| 62× | egg |
| 30× | egg |
3 calls:
| 128.0ms | (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a) |
| 95.0ms | (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) |
| 67.0ms | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 165 | 13 |
| 2 | 2499 | 13 |
| 3 | 4906 | 13 |
| 4 | 5264 | 13 |
| 0 | 8 | 16 |
| 1 | 191 | 16 |
| 2 | 3026 | 16 |
| 3 | 4944 | 16 |
| 4 | 4904 | 16 |
| 5 | 4953 | 16 |
| 0 | 10 | 20 |
| 1 | 234 | 18 |
| 2 | 3307 | 18 |
| 3 | 5118 | 18 |
| 1× | egg-herbie |
| 405× | fabs-mul_binary64 |
| 384× | div-sub_binary64 |
| 362× | fabs-div_binary64 |
| 349× | fma-neg_binary64 |
| 273× | fma-def_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 963 |
| 1 | 71 | 963 |
| 2 | 197 | 963 |
| 3 | 644 | 963 |
| 4 | 2840 | 963 |
| 5 | 4634 | 963 |
| 6 | 5114 | 963 |
2 alts after pruning (0 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 227 | 0 | 227 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 227 | 2 | 229 |
| Status | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (*.f64 (+.f64 a b) (/.f64 (-.f64 a b) a)) a))) |
| ✓ | 0.0b | (sqrt.f64 (fabs.f64 (/.f64 (-.f64 a b) (*.f64 (/.f64 a (+.f64 a b)) a)))) |
Compiled 4145 to 1330 computations (67.9% saved)
Total 0.0b remaining (49.2%)
Threshold costs 0.0b (49.2%)
Compiled 4860 to 3171 computations (34.8% saved)
| 1× | egg-herbie |
| 5× | +-commutative_binary64 |
| 4× | sub-neg_binary64 |
| 3× | *-commutative_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 20 |
| 1 | 17 | 20 |
| 2 | 28 | 20 |
| 3 | 34 | 20 |
| 4 | 38 | 20 |
| 5 | 40 | 20 |
| 6 | 41 | 20 |
| 7 | 41 | 20 |
Compiled 60 to 36 computations (40% saved)
Loading profile data...