Time bar (total: 6.9s)
| 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% | 87.4% | 12.6% | 5 |
| 0% | 74.9% | 25.1% | 6 |
| 6.2% | 68.6% | 25.1% | 7 |
| 12.5% | 56.2% | 31.4% | 8 |
| 14% | 48.4% | 37.6% | 9 |
| 21.1% | 41.3% | 37.6% | 10 |
| 26.9% | 32.4% | 40.7% | 11 |
| 28.7% | 27.5% | 43.8% | 12 |
| 33.4% | 22.7% | 43.8% | 13 |
| 37.2% | 17.4% | 45.4% | 14 |
Compiled 12 to 8 computations (33.3% saved)
| 952.0ms | 8256× | body | 128 | valid |
| 80.0ms | 829× | body | 128 | invalid |
Compiled 35 to 23 computations (34.3% saved)
| 1× | egg-herbie |
| 1663× | fma-def_binary64 |
| 528× | fma-neg_binary64 |
| 288× | distribute-rgt-in_binary64 |
| 230× | unsub-neg_binary64 |
| 193× | distribute-lft-in_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 12 |
| 1 | 15 | 12 |
| 2 | 23 | 12 |
| 3 | 39 | 12 |
| 4 | 98 | 12 |
| 5 | 231 | 12 |
| 6 | 474 | 12 |
| 7 | 898 | 12 |
| 8 | 1256 | 12 |
| 9 | 2133 | 12 |
| 10 | 3636 | 12 |
| 11 | 4010 | 12 |
| 12 | 4136 | 12 |
| 13 | 4175 | 12 |
| 14 | 4189 | 12 |
| 1× | node limit |
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 |
| ▶ | 18.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
Compiled 41 to 23 computations (43.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| ✓ | 17.5b | (log.f64 (/.f64 x y)) |
2 calls:
| 328.0ms | (log.f64 (/.f64 x y)) |
| 243.0ms | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 1× | batch-egg-rewrite |
| 710× | log1p-expm1-u_binary64 |
| 710× | expm1-log1p-u_binary64 |
| 191× | egg-rr |
| 165× | prod-diff_binary64 |
| 137× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 18 |
| 1 | 165 | 16 |
| 2 | 2154 | 16 |
| 1× | node limit |
2 calls:
| 57.0ms | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 57.0ms | (log.f64 (/.f64 x y)) |
| 1× | egg-herbie |
| 492× | fma-neg_binary64 |
| 410× | unsub-neg_binary64 |
| 305× | sub-neg_binary64 |
| 289× | distribute-rgt-in_binary64 |
| 230× | distribute-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 558 |
| 1 | 125 | 540 |
| 2 | 268 | 540 |
| 3 | 669 | 540 |
| 4 | 2021 | 540 |
| 5 | 3640 | 540 |
| 6 | 4344 | 540 |
| 7 | 4799 | 540 |
| 8 | 4924 | 540 |
| 9 | 4973 | 540 |
| 10 | 4981 | 540 |
| 1× | node limit |
11 alts after pruning (10 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 199 | 10 | 209 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 199 | 11 | 210 |
| Status | Error | Program |
| 32.9b | (-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z)) | |
| 32.9b | (fma.f64 x (/.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y))) (neg.f64 z)) | |
| 32.9b | (fma.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y))))) (neg.f64 z)) | |
| ▶ | 31.4b | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| ✓ | 18.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 51.4b | (+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 44.6b | (+.f64 (fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 50.9b | (fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z)) | |
| 55.9b | (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 54.4b | (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2) | |
| 31.6b | (-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z) |
Compiled 5065 to 1527 computations (69.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| ✓ | 0.3b | (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) |
2 calls:
| 384.0ms | (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) |
| 318.0ms | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| 1× | batch-egg-rewrite |
| 903× | expm1-log1p-u_binary64 |
| 505× | prod-diff_binary64 |
| 204× | egg-rr |
| 117× | add-sqr-sqrt_binary64 |
| 110× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 26 |
| 1 | 231 | 16 |
| 2 | 3180 | 16 |
| 1× | node limit |
2 calls:
| 62.0ms | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| 62.0ms | (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) |
| 1× | egg-herbie |
| 523× | sub-neg_binary64 |
| 509× | fma-def_binary64 |
| 415× | unsub-neg_binary64 |
| 284× | distribute-rgt-in_binary64 |
| 228× | fma-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 1081 |
| 1 | 184 | 909 |
| 2 | 448 | 900 |
| 3 | 1158 | 704 |
| 4 | 3397 | 704 |
| 5 | 4771 | 704 |
| 1× | node limit |
11 alts after pruning (9 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 226 | 2 | 228 |
| Fresh | 2 | 7 | 9 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 228 | 11 | 239 |
| Status | Error | Program |
| 50.9b | (fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z)) | |
| ▶ | 31.6b | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
| 32.9b | (-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z)) | |
| 33.0b | (fma.f64 x (fma.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (cbrt.f64 (log.f64 x)) (neg.f64 (log.f64 y))) (neg.f64 z)) | |
| 32.9b | (fma.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y))))) (neg.f64 z)) | |
| ✓ | 31.4b | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| ✓ | 18.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 51.4b | (+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 44.6b | (+.f64 (fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 55.9b | (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 54.4b | (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2) |
Compiled 5378 to 1662 computations (69.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z) |
| ✓ | 0.1b | (*.f64 (log.f64 (neg.f64 y)) x) |
| ✓ | 0.2b | (*.f64 (log.f64 (neg.f64 x)) x) |
| ✓ | 0.3b | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
4 calls:
| 317.0ms | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
| 214.0ms | (*.f64 (log.f64 (neg.f64 y)) x) |
| 100.0ms | (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z) |
| 29.0ms | (*.f64 (log.f64 (neg.f64 x)) x) |
| 1× | batch-egg-rewrite |
| 666× | fma-def_binary64 |
| 332× | fma-neg_binary64 |
| 208× | expm1-udef_binary64 |
| 208× | log1p-udef_binary64 |
| 197× | egg-rr |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 44 |
| 1 | 261 | 33 |
| 2 | 3732 | 33 |
| 1× | node limit |
4 calls:
| 65.0ms | (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z) |
| 65.0ms | (*.f64 (log.f64 (neg.f64 y)) x) |
| 65.0ms | (*.f64 (log.f64 (neg.f64 x)) x) |
| 65.0ms | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
| 1× | egg-herbie |
| 695× | fma-def_binary64 |
| 536× | sub-neg_binary64 |
| 358× | fma-neg_binary64 |
| 261× | associate-+l-_binary64 |
| 246× | associate--r+_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 991 |
| 1 | 190 | 804 |
| 2 | 478 | 801 |
| 3 | 1378 | 721 |
| 4 | 4238 | 721 |
| 1× | node limit |
10 alts after pruning (7 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 227 | 2 | 229 |
| Fresh | 3 | 5 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 230 | 10 | 240 |
| Status | Error | Program |
| 50.9b | (fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z)) | |
| ✓ | 31.6b | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
| ▶ | 32.9b | (fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z)) |
| 55.9b | (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 32.9b | (fma.f64 x (log.f64 x) (neg.f64 (fma.f64 x (log.f64 y) z))) | |
| 54.4b | (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2) | |
| 32.9b | (-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z)) | |
| ✓ | 31.4b | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| ✓ | 18.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 51.4b | (+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) |
Compiled 4789 to 1196 computations (75% saved)
Found 2 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z)) |
| ✓ | 0.3b | (-.f64 (log.f64 x) (log.f64 y)) |
2 calls:
| 316.0ms | (-.f64 (log.f64 x) (log.f64 y)) |
| 264.0ms | (fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z)) |
| 1× | batch-egg-rewrite |
| 885× | expm1-log1p-u_binary64 |
| 519× | prod-diff_binary64 |
| 213× | egg-rr |
| 101× | add-sqr-sqrt_binary64 |
| 95× | log1p-expm1-u_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 18 |
| 1 | 202 | 16 |
| 2 | 2579 | 16 |
| 1× | node limit |
2 calls:
| 68.0ms | (fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z)) |
| 68.0ms | (-.f64 (log.f64 x) (log.f64 y)) |
| 1× | egg-herbie |
| 417× | unsub-neg_binary64 |
| 417× | fma-def_binary64 |
| 351× | sub-neg_binary64 |
| 227× | distribute-rgt-in_binary64 |
| 212× | distribute-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 666 |
| 1 | 143 | 590 |
| 2 | 382 | 590 |
| 3 | 1040 | 590 |
| 4 | 3072 | 590 |
| 5 | 3946 | 590 |
| 6 | 4495 | 590 |
| 7 | 4734 | 590 |
| 8 | 4764 | 590 |
| 9 | 4771 | 590 |
| 1× | node limit |
10 alts after pruning (6 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 230 | 0 | 230 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 230 | 10 | 240 |
| Status | Error | Program |
| 50.9b | (fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z)) | |
| ✓ | 31.6b | (-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)) |
| ✓ | 32.9b | (fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z)) |
| 55.9b | (+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) | |
| 32.9b | (fma.f64 x (log.f64 x) (neg.f64 (fma.f64 x (log.f64 y) z))) | |
| 54.4b | (pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2) | |
| 32.9b | (-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z)) | |
| ✓ | 31.4b | (fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z)) |
| ✓ | 18.1b | (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)) |
| 51.4b | (+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z)) |
Compiled 5417 to 1699 computations (68.6% saved)
Total 0.3b remaining (88.5%)
Threshold costs 0.3b (88.5%)
Compiled 11977 to 7124 computations (40.5% saved)
| Iters | Range | Point | |
|---|---|---|---|
| 9 | -9.510892274969026e-307 | 2.7231035217214135e-305 | 3.50923658615853e-310 |
Compiled 4 to 3 computations (25% saved)
| 1× | egg-herbie |
| 8× | +-commutative_binary64 |
| 8× | sub-neg_binary64 |
| 6× | *-commutative_binary64 |
| 5× | neg-sub0_binary64 |
| 5× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 38 |
| 1 | 38 | 38 |
| 2 | 51 | 38 |
| 3 | 58 | 38 |
| 4 | 60 | 38 |
| 1× | saturated |
Compiled 239 to 137 computations (42.7% saved)
Loading profile data...