Time bar (total: 4.1s)
| 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 |
| 12.5% | 87.4% | 0.1% | 5 |
| 46.8% | 53.1% | 0.1% | 6 |
| 70.2% | 29.7% | 0.1% | 7 |
| 76.5% | 23.4% | 0.1% | 8 |
| 83.5% | 16.4% | 0.1% | 9 |
| 87% | 12.9% | 0.1% | 10 |
| 91.1% | 8.8% | 0.1% | 11 |
| 93.2% | 6.7% | 0.1% | 12 |
| 95.4% | 4.5% | 0.1% | 13 |
| 96.5% | 3.4% | 0.1% | 14 |
Compiled 20 to 10 computations (50% saved)
(sort x y)
| 928.0ms | 8256× | body | 128 | valid |
Compiled 59 to 29 computations (50.8% saved)
| 1× | egg-herbie |
| 985× | associate-/l*_binary64 |
| 659× | distribute-lft-out_binary64 |
| 601× | *-commutative_binary64 |
| 469× | distribute-rgt-out_binary64 |
| 356× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 39 | 25 |
| 2 | 135 | 23 |
| 3 | 474 | 23 |
| 4 | 1536 | 23 |
| 5 | 2122 | 23 |
| 6 | 2589 | 23 |
| 7 | 2567 | 23 |
| 8 | 2620 | 23 |
| 9 | 2677 | 23 |
| 10 | 2770 | 23 |
| 11 | 3956 | 23 |
| 12 | 4088 | 23 |
| 13 | 4454 | 23 |
| 14 | 4983 | 23 |
| 15 | 4968 | 23 |
| 16 | 4961 | 23 |
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 |
| 19.6b | (/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3))) | |
| ▶ | 19.6b | (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))) |
Compiled 109 to 47 computations (56.9% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 x y)) |
| ✓ | 0.0b | (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| ✓ | 19.4b | (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))) |
3 calls:
| 34.0ms | (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))) |
| 11.0ms | (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 5.0ms | (*.f64 (+.f64 x y) (+.f64 x y)) |
| 2× | batch-egg-rewrite |
| 647× | fma-def_binary64 |
| 312× | fma-neg_binary64 |
| 204× | log1p-udef_binary64 |
| 202× | expm1-udef_binary64 |
| 181× | egg-rr |
3 calls:
| 96.0ms | (*.f64 (+.f64 x y) (+.f64 x y)) |
| 96.0ms | (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 96.0ms | (/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 45 |
| 1 | 238 | 45 |
| 2 | 3601 | 45 |
| 3 | 5115 | 45 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 295× | associate-+r+_binary64 |
| 295× | fma-def_binary64 |
| 239× | cancel-sign-sub-inv_binary64 |
| 229× | associate-/r*_binary64 |
| 228× | times-frac_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 258 | 2982 |
| 1 | 833 | 2847 |
| 2 | 3655 | 2817 |
| 3 | 4983 | 2817 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 241 | 6 | 247 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 243 | 6 | 249 |
| Status | Error | Program |
| ▶ | 4.2b | (*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))) |
| 12.2b | (*.f64 x (*.f64 y (/.f64 1 (*.f64 (pow.f64 (+.f64 x y) 2) (+.f64 (+.f64 x y) 1))))) | |
| 24.1b | (*.f64 (/.f64 x (*.f64 (+.f64 x y) (sqrt.f64 (+.f64 (+.f64 x y) 1)))) (/.f64 y (*.f64 (+.f64 x y) (sqrt.f64 (+.f64 (+.f64 x y) 1))))) | |
| 9.9b | (*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1))))) | |
| 16.6b | (*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (*.f64 x y) (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))) | |
| 8.7b | (*.f64 (/.f64 x (+.f64 (+.f64 x y) 1)) (/.f64 y (pow.f64 (+.f64 x y) 2))) |
Compiled 7216 to 3573 computations (50.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (/.f64 y (+.f64 x y)) |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)) |
| ✓ | 0.1b | (*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))) |
| ✓ | 15.3b | (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))) |
4 calls:
| 34.0ms | (*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))) |
| 23.0ms | (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))) |
| 7.0ms | (/.f64 y (+.f64 x y)) |
| 7.0ms | (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)) |
| 2× | batch-egg-rewrite |
| 763× | prod-diff_binary64 |
| 189× | egg-rr |
| 120× | add-sqr-sqrt_binary64 |
| 115× | log1p-expm1-u_binary64 |
| 115× | expm1-log1p-u_binary64 |
4 calls:
| 97.0ms | (/.f64 y (+.f64 x y)) |
| 97.0ms | (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)) |
| 97.0ms | (*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))) |
| 96.0ms | (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 61 |
| 1 | 237 | 58 |
| 2 | 3652 | 58 |
| 3 | 5189 | 58 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 413× | associate-+r+_binary64 |
| 358× | fma-def_binary64 |
| 313× | times-frac_binary64 |
| 307× | associate-/r*_binary64 |
| 298× | associate-+l+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 363 | 4455 |
| 1 | 1195 | 4312 |
| 2 | 5201 | 4312 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 274 | 5 | 279 |
| Fresh | 4 | 1 | 5 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 279 | 6 | 285 |
| Status | Error | Program |
| 47.6b | (*.f64 (/.f64 y (+.f64 x y)) (pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 (+.f64 x y) (sqrt.f64 (+.f64 x y)))) 2)) | |
| 9.9b | (*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1))))) | |
| ▶ | 0.1b | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 0.1b | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) | |
| 0.8b | (/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1))) | |
| 4.3b | (/.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))) (/.f64 (+.f64 x y) y)) |
Compiled 9043 to 4586 computations (49.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (/.f64 y (+.f64 x y)) | |
| ✓ | 0.0b | (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) |
| ✓ | 0.1b | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| ✓ | 6.6b | (*.f64 x (/.f64 y (+.f64 x y))) |
3 calls:
| 32.0ms | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 11.0ms | (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) |
| 8.0ms | (*.f64 x (/.f64 y (+.f64 x y))) |
| 2× | batch-egg-rewrite |
| 627× | prod-diff_binary64 |
| 214× | log1p-udef_binary64 |
| 119× | add-sqr-sqrt_binary64 |
| 116× | egg-rr |
| 114× | log1p-expm1-u_binary64 |
3 calls:
| 88.0ms | (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) |
| 88.0ms | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 88.0ms | (*.f64 x (/.f64 y (+.f64 x y))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 51 |
| 1 | 235 | 45 |
| 2 | 3645 | 45 |
| 3 | 5303 | 45 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 325× | cancel-sign-sub-inv_binary64 |
| 256× | sub-neg_binary64 |
| 255× | times-frac_binary64 |
| 248× | associate-/r*_binary64 |
| 214× | associate-+r+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 265 | 3008 |
| 1 | 824 | 2962 |
| 2 | 3565 | 2890 |
| 3 | 5126 | 2890 |
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 223 | 2 | 225 |
| Fresh | 1 | 4 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 224 | 7 | 231 |
| Status | Error | Program |
| 0.8b | (/.f64 (*.f64 x (/.f64 1 (*.f64 (+.f64 x y) (/.f64 (+.f64 x y) y)))) (+.f64 (+.f64 x y) 1)) | |
| 47.6b | (*.f64 (/.f64 y (+.f64 x y)) (pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 (+.f64 x y) (sqrt.f64 (+.f64 x y)))) 2)) | |
| 9.9b | (*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1))))) | |
| ✓ | 0.1b | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 14.7b | (/.f64 (/.f64 (*.f64 x (log.f64 (exp.f64 (/.f64 y (+.f64 x y))))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) | |
| ▶ | 0.1b | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) |
| 0.8b | (/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1))) |
Compiled 6766 to 3450 computations (49% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.0b | (/.f64 y (+.f64 x y)) | |
| ✓ | 0.0b | (/.f64 1 (+.f64 (+.f64 x y) 1)) |
| ✓ | 0.1b | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) |
| ✓ | 0.1b | (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))) |
3 calls:
| 33.0ms | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) |
| 23.0ms | (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))) |
| 11.0ms | (/.f64 1 (+.f64 (+.f64 x y) 1)) |
| 2× | batch-egg-rewrite |
| 635× | prod-diff_binary64 |
| 132× | add-sqr-sqrt_binary64 |
| 127× | egg-rr |
| 126× | log1p-expm1-u_binary64 |
| 126× | expm1-log1p-u_binary64 |
3 calls:
| 85.0ms | (/.f64 1 (+.f64 (+.f64 x y) 1)) |
| 85.0ms | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) |
| 85.0ms | (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 51 |
| 1 | 262 | 48 |
| 2 | 3872 | 48 |
| 3 | 5128 | 48 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 438× | associate-+r+_binary64 |
| 355× | fma-def_binary64 |
| 321× | associate-/r*_binary64 |
| 317× | times-frac_binary64 |
| 316× | associate-+l+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 381 | 4547 |
| 1 | 1276 | 4503 |
| 2 | 5579 | 4503 |
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 260 | 2 | 262 |
| Fresh | 2 | 3 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 262 | 7 | 269 |
| Status | Error | Program |
| ✓ | 0.1b | (/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) |
| 0.2b | (/.f64 (/.f64 (/.f64 x (+.f64 x y)) (+.f64 (+.f64 x y) 1)) (/.f64 (+.f64 x y) y)) | |
| 0.3b | (*.f64 (/.f64 y (+.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) x) (+.f64 (+.f64 x y) 1)))) | |
| 14.7b | (/.f64 (/.f64 (*.f64 x (log.f64 (exp.f64 (/.f64 y (+.f64 x y))))) (+.f64 x y)) (+.f64 (+.f64 x y) 1)) | |
| 9.9b | (*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1))))) | |
| ✓ | 0.1b | (*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))) |
| 0.8b | (/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1))) |
Compiled 9050 to 4900 computations (45.9% saved)
Total 0.1b remaining (75.8%)
Threshold costs 0.1b (75.8%)
Compiled 11942 to 6818 computations (42.9% saved)
| 1× | egg-herbie |
| 2× | +-commutative_binary64 |
| 1× | *-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 15 | 25 |
| 2 | 14 | 25 |
Compiled 215 to 108 computations (49.8% saved)
Loading profile data...