Time bar (total: 12.2s)
| 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 |
| 0% | 99.9% | 0.1% | 5 |
| 12.5% | 87.4% | 0.1% | 6 |
| 15.6% | 84.3% | 0.1% | 7 |
| 18.7% | 81.1% | 0.1% | 8 |
| 25.7% | 73.3% | 0.9% | 9 |
| 28.5% | 60.8% | 10.7% | 10 |
| 30.2% | 58.7% | 11.1% | 11 |
| 32.7% | 52.2% | 15.2% | 12 |
| 33.5% | 39.2% | 27.4% | 13 |
| 34.3% | 37.8% | 27.9% | 14 |
Compiled 19 to 13 computations (31.6% saved)
(sort a k m)
| 1.2s | 8256× | body | 128 | valid |
| 546.0ms | 3860× | body | 128 | invalid |
Compiled 56 to 38 computations (32.1% saved)
| 1× | egg-herbie |
| 1210× | rules-43_binary64 |
| 1204× | rules-42_binary64 |
| 578× | fma-neg_binary64 |
| 368× | fma-def_binary64 |
| 309× | rules-11_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 22 |
| 1 | 81 | 18 |
| 2 | 259 | 18 |
| 3 | 1135 | 17 |
| 4 | 3638 | 17 |
| 5 | 30 | 17 |
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 |
| ▶ | 34.3b | (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1)) |
Compiled 60 to 37 computations (38.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (*.f64 a (pow.f64 k m)) |
| ✓ | 2.5b | (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1)) |
2 calls:
| 288.0ms | (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1)) |
| 212.0ms | (*.f64 a (pow.f64 k m)) |
| 2× | batch-egg-rewrite |
| 856× | fma-neg_binary64 |
| 372× | prod-diff_binary64 |
| 196× | expm1-udef_binary64 |
| 196× | log1p-udef_binary64 |
| 143× | egg-rr |
2 calls:
| 71.0ms | (*.f64 a (pow.f64 k m)) |
| 71.0ms | (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 24 |
| 1 | 255 | 24 |
| 2 | 3094 | 24 |
| 3 | 5142 | 24 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 473× | rules-21_binary64 |
| 291× | fma-neg_binary64 |
| 238× | fma-def_binary64 |
| 226× | rules-20_binary64 |
| 215× | rules-40_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 115 | 1635 |
| 1 | 844 | 1497 |
| 2 | 4244 | 1374 |
| 3 | 4975 | 1374 |
| 4 | 4887 | 1374 |
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 180 | 8 | 188 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 181 | 8 | 189 |
| Status | Error | Program |
| ▶ | 34.3b | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
| 38.2b | (fabs.f64 (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1))) | |
| 58.9b | (/.f64 (fma.f64 a (*.f64 (log.f64 k) m) (fma.f64 1/2 (*.f64 a (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m))) a)) (fma.f64 k (+.f64 k 10) 1)) | |
| 51.7b | (/.f64 (*.f64 a (pow.f64 k m)) (*.f64 k k)) | |
| 57.3b | (fma.f64 a (/.f64 (*.f64 (log.f64 k) m) (fma.f64 k 10 (fma.f64 k k 1))) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) | |
| 34.7b | (/.f64 (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) (fma.f64 k (+.f64 k 10) 1)) | |
| 50.8b | (/.f64 a (fma.f64 k (+.f64 k 10) 1)) | |
| 58.8b | (+.f64 (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))) (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 (log.f64 k) 3) (pow.f64 m 3)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (*.f64 (*.f64 (log.f64 k) m) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))))))) |
Compiled 4800 to 2480 computations (48.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (sqrt.f64 (pow.f64 k m)) |
| ✓ | 0.0b | (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) |
| ✓ | 0.0b | (*.f64 (sqrt.f64 (pow.f64 k m)) a) |
| ✓ | 2.5b | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
4 calls:
| 509.0ms | (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) |
| 468.0ms | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
| 256.0ms | (*.f64 (sqrt.f64 (pow.f64 k m)) a) |
| 30.0ms | (sqrt.f64 (pow.f64 k m)) |
| 2× | batch-egg-rewrite |
| 373× | prod-diff_binary64 |
| 230× | expm1-udef_binary64 |
| 230× | log1p-udef_binary64 |
| 179× | egg-rr |
| 131× | add-sqr-sqrt_binary64 |
4 calls:
| 81.0ms | (sqrt.f64 (pow.f64 k m)) |
| 81.0ms | (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) |
| 81.0ms | (*.f64 (sqrt.f64 (pow.f64 k m)) a) |
| 81.0ms | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 61 |
| 1 | 317 | 39 |
| 2 | 3639 | 39 |
| 3 | 5027 | 39 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 387× | fma-def_binary64 |
| 348× | fma-neg_binary64 |
| 282× | rules-20_binary64 |
| 263× | rules-7-rev_binary64 |
| 260× | rules-40_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 2439 |
| 1 | 1047 | 2266 |
| 2 | 4919 | 2266 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 301 | 0 | 301 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 301 | 8 | 309 |
| Status | Error | Program |
| ✓ | 34.3b | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
| 38.2b | (fabs.f64 (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1))) | |
| 58.9b | (/.f64 (fma.f64 a (*.f64 (log.f64 k) m) (fma.f64 1/2 (*.f64 a (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m))) a)) (fma.f64 k (+.f64 k 10) 1)) | |
| 51.7b | (/.f64 (*.f64 a (pow.f64 k m)) (*.f64 k k)) | |
| 57.3b | (fma.f64 a (/.f64 (*.f64 (log.f64 k) m) (fma.f64 k 10 (fma.f64 k k 1))) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) | |
| ▶ | 34.7b | (/.f64 (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) (fma.f64 k (+.f64 k 10) 1)) |
| 50.8b | (/.f64 a (fma.f64 k (+.f64 k 10) 1)) | |
| 58.8b | (+.f64 (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))) (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 (log.f64 k) 3) (pow.f64 m 3)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (*.f64 (*.f64 (log.f64 k) m) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))))))) |
Compiled 8337 to 4109 computations (50.7% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (pow.f64 (exp.f64 a) (pow.f64 k m)) |
| ✓ | 0.6b | (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) |
| ✓ | 1.4b | (/.f64 (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) (fma.f64 k (+.f64 k 10) 1)) |
3 calls:
| 2.5s | (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) |
| 1.7s | (/.f64 (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) (fma.f64 k (+.f64 k 10) 1)) |
| 664.0ms | (pow.f64 (exp.f64 a) (pow.f64 k m)) |
| 2× | batch-egg-rewrite |
| 949× | fma-neg_binary64 |
| 358× | prod-diff_binary64 |
| 222× | expm1-udef_binary64 |
| 222× | log1p-udef_binary64 |
| 187× | egg-rr |
3 calls:
| 82.0ms | (pow.f64 (exp.f64 a) (pow.f64 k m)) |
| 82.0ms | (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) |
| 82.0ms | (/.f64 (log.f64 (pow.f64 (exp.f64 a) (pow.f64 k m))) (fma.f64 k (+.f64 k 10) 1)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 33 |
| 1 | 293 | 33 |
| 2 | 3490 | 33 |
| 3 | 5746 | 33 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 1× | egg-herbie |
| 457× | fma-def_binary64 |
| 421× | fma-neg_binary64 |
| 348× | rules-20_binary64 |
| 322× | rules-13_binary64 |
| 306× | rules-40_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 161 | 2329 |
| 1 | 1230 | 2139 |
| 2 | 5325 | 2139 |
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 251 | 2 | 253 |
| Fresh | 0 | 6 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 252 | 9 | 261 |
| Status | Error | Program |
| ✓ | 34.3b | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
| 38.2b | (fabs.f64 (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1))) | |
| 58.9b | (/.f64 (fma.f64 a (*.f64 (log.f64 k) m) (fma.f64 1/2 (*.f64 a (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m))) a)) (fma.f64 k (+.f64 k 10) 1)) | |
| 51.7b | (/.f64 (*.f64 a (pow.f64 k m)) (*.f64 k k)) | |
| 53.7b | (/.f64 (log.f64 (fma.f64 a (*.f64 (log.f64 k) (*.f64 m (exp.f64 a))) (exp.f64 a))) (fma.f64 k (+.f64 k 10) 1)) | |
| 57.3b | (fma.f64 a (/.f64 (*.f64 (log.f64 k) m) (fma.f64 k 10 (fma.f64 k k 1))) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) | |
| ▶ | 23.4b | (/.f64 (log.f64 1) (fma.f64 k (+.f64 k 10) 1)) |
| 50.8b | (/.f64 a (fma.f64 k (+.f64 k 10) 1)) | |
| 58.8b | (+.f64 (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))) (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 (log.f64 k) 3) (pow.f64 m 3)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (*.f64 (*.f64 (log.f64 k) m) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))))))) |
Compiled 6434 to 3322 computations (48.4% saved)
9 alts after pruning (7 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 0 | 9 | 9 |
| Status | Error | Program |
| ✓ | 34.3b | (/.f64 (fma.f64 (sqrt.f64 (pow.f64 k m)) (*.f64 (sqrt.f64 (pow.f64 k m)) a) 0) (fma.f64 k (+.f64 k 10) 1)) |
| 38.2b | (fabs.f64 (/.f64 (*.f64 a (pow.f64 k m)) (fma.f64 k (+.f64 k 10) 1))) | |
| 58.9b | (/.f64 (fma.f64 a (*.f64 (log.f64 k) m) (fma.f64 1/2 (*.f64 a (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m))) a)) (fma.f64 k (+.f64 k 10) 1)) | |
| 51.7b | (/.f64 (*.f64 a (pow.f64 k m)) (*.f64 k k)) | |
| 53.7b | (/.f64 (log.f64 (fma.f64 a (*.f64 (log.f64 k) (*.f64 m (exp.f64 a))) (exp.f64 a))) (fma.f64 k (+.f64 k 10) 1)) | |
| 57.3b | (fma.f64 a (/.f64 (*.f64 (log.f64 k) m) (fma.f64 k 10 (fma.f64 k k 1))) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) | |
| ✓ | 23.4b | (/.f64 (log.f64 1) (fma.f64 k (+.f64 k 10) 1)) |
| 50.8b | (/.f64 a (fma.f64 k (+.f64 k 10) 1)) | |
| 58.8b | (+.f64 (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))) (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (log.f64 k) 2) (*.f64 m m)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 (log.f64 k) 3) (pow.f64 m 3)) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1)))) (*.f64 (*.f64 (log.f64 k) m) (/.f64 a (fma.f64 k 10 (fma.f64 k k 1))))))) |
Compiled 217 to 139 computations (35.9% saved)
Total 12.8b remaining (86.8%)
Threshold costs 0b (0%)
Compiled 8220 to 5566 computations (32.3% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 8 | 220.00588302081806 | 108892.73409744595 | 222.24157684555098 |
| 11 | 3.6260711123666066e-267 | 4.3994181849560203e-246 | 3.6592210806688855e-267 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 46 |
| 1 | 22 | 46 |
| 2 | 20 | 46 |
(sort a k m)
Compiled 361 to 243 computations (32.7% saved)
Loading profile data...