Time bar (total: 16.3s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.8% | 0.2% | 0 |
| 0% | 99.8% | 0.2% | 1 |
| 0% | 99.8% | 0.2% | 2 |
| 0% | 99.8% | 0.2% | 3 |
| 0% | 99.8% | 0.2% | 4 |
| 6.2% | 93.5% | 0.2% | 5 |
| 6.2% | 93.5% | 0.2% | 6 |
| 6.2% | 81.1% | 12.7% | 7 |
| 9.4% | 71.7% | 18.9% | 8 |
| 9.4% | 51.4% | 39.2% | 9 |
| 9.4% | 36.2% | 54.4% | 10 |
| 9.4% | 36.2% | 54.4% | 11 |
| 9.4% | 31% | 59.7% | 12 |
| 10.9% | 26.8% | 62.3% | 13 |
| 10.9% | 20.5% | 68.6% | 14 |
Compiled 22 to 16 computations (27.3% saved)
(sort x y)
| 1.8s | 12665× | body | 128 | invalid |
| 1.2s | 8256× | body | 128 | valid |
Compiled 65 to 47 computations (27.7% saved)
| 1× | egg-herbie |
| 2140× | distribute-rgt-in_binary64 |
| 556× | associate--r+_binary64 |
| 551× | associate-+l+_binary64 |
| 551× | unsub-neg_binary64 |
| 546× | associate-+r+_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 25 |
| 1 | 29 | 23 |
| 2 | 72 | 23 |
| 3 | 160 | 23 |
| 4 | 426 | 23 |
| 5 | 1097 | 23 |
| 6 | 1994 | 23 |
| 7 | 1981 | 23 |
| 8 | 1956 | 23 |
| 9 | 1972 | 23 |
| 10 | 1987 | 23 |
| 11 | 2037 | 23 |
| 12 | 2044 | 23 |
| 13 | 2248 | 23 |
| 14 | 2651 | 23 |
| 15 | 2447 | 23 |
| 16 | 2459 | 23 |
| 17 | 2465 | 23 |
| 18 | 2465 | 23 |
| 19 | 2557 | 23 |
| 20 | 4649 | 23 |
| 21 | 4720 | 23 |
| 22 | 4802 | 23 |
| 23 | 4878 | 23 |
| 24 | 7643 | 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 |
| ▶ | 0.2b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| 0.2b | (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)) |
Compiled 118 to 76 computations (35.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) |
| ✓ | 0.1b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| ✓ | 0.1b | (*.f64 (-.f64 a 1/2) (log.f64 t)) |
| ✓ | 0.6b | (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) |
4 calls:
| 823.0ms | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| 344.0ms | (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) |
| 335.0ms | (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) |
| 127.0ms | (*.f64 (-.f64 a 1/2) (log.f64 t)) |
| 1× | rewrite-expression-head |
| 93× | *-un-lft-identity_binary64 |
| 48× | pow1_binary64 |
| 45× | add-sqr-sqrt_binary64 |
| 42× | prod-diff_binary64 |
| 42× | log-pow_binary64 |
4 calls:
| 11.0ms | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| 8.0ms | (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) |
| 7.0ms | (*.f64 (-.f64 a 1/2) (log.f64 t)) |
| 5.0ms | (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) |
| 1× | egg-herbie |
| 450× | associate--l+_binary64 |
| 371× | associate-+l+_binary64 |
| 360× | associate--r+_binary64 |
| 318× | fma-def_binary64 |
| 286× | sub-neg_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 469 | 7429 |
| 1 | 1396 | 6861 |
| 2 | 5156 | 6861 |
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 362 | 6 | 368 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 364 | 6 | 370 |
| Status | Error | Program |
| 0.2b | (+.f64 (-.f64 (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) | |
| 51.3b | (log.f64 (*.f64 (pow.f64 t (+.f64 a -1/2)) (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)))) | |
| 0.2b | (+.f64 (fma.f64 (+.f64 a -1/2) (*.f64 2 (log.f64 (cbrt.f64 t))) (-.f64 (+.f64 (log.f64 z) (log.f64 (+.f64 y x))) t)) (*.f64 (log.f64 (cbrt.f64 t)) (-.f64 a 1/2))) | |
| 0.3b | (-.f64 (+.f64 (log.f64 z) (*.f64 a (log.f64 t))) (+.f64 t (+.f64 (log.f64 (/.f64 1 y)) (*.f64 1/2 (log.f64 t))))) | |
| ▶ | 0.2b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 31.5b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (*.f64 (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (log.f64 t)))) |
Compiled 10394 to 3997 computations (61.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| ✓ | 0.1b | (fma.f64 a (neg.f64 (log.f64 t)) t) |
| ✓ | 0.5b | (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t))) |
| ✓ | 0.5b | (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) |
4 calls:
| 952.0ms | (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) |
| 874.0ms | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 395.0ms | (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t))) |
| 48.0ms | (fma.f64 a (neg.f64 (log.f64 t)) t) |
| 1× | rewrite-expression-head |
| 44× | *-un-lft-identity_binary64 |
| 22× | add-sqr-sqrt_binary64 |
| 20× | add-cube-cbrt_binary64 |
| 15× | prod-diff_binary64 |
| 13× | log-prod_binary64 |
4 calls:
| 11.0ms | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 6.0ms | (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) |
| 3.0ms | (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t))) |
| 0.0ms | (fma.f64 a (neg.f64 (log.f64 t)) t) |
| 1× | egg-herbie |
| 505× | fma-neg_binary64 |
| 390× | associate-+l+_binary64 |
| 384× | associate--l+_binary64 |
| 353× | associate--r+_binary64 |
| 317× | +-commutative_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 377 | 6874 |
| 1 | 1161 | 5987 |
| 2 | 4514 | 5987 |
| 3 | 4960 | 5987 |
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 291 | 3 | 294 |
| Fresh | 1 | 4 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 292 | 8 | 300 |
| Status | Error | Program |
| 0.2b | (+.f64 (-.f64 (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) | |
| 15.3b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (*.f64 (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)) (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)))) | |
| ✓ | 0.2b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| ▶ | 0.2b | (-.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x)))) (+.f64 (fma.f64 (log.f64 t) -1/2 (log.f64 z)) (log.f64 (cbrt.f64 (+.f64 x y))))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 51.3b | (log.f64 (*.f64 (pow.f64 t (+.f64 a -1/2)) (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)))) | |
| 0.2b | (+.f64 (fma.f64 (+.f64 a -1/2) (*.f64 2 (log.f64 (cbrt.f64 t))) (-.f64 (+.f64 (log.f64 z) (log.f64 (+.f64 y x))) t)) (*.f64 (log.f64 (cbrt.f64 t)) (-.f64 a 1/2))) | |
| 31.5b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (*.f64 (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (log.f64 t)))) | |
| 0.3b | (-.f64 (-.f64 (log.f64 z) (-.f64 (*.f64 1/2 (log.f64 t)) (log.f64 y))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
Compiled 8759 to 3220 computations (63.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.5b | (fma.f64 (log.f64 t) -1/2 (log.f64 z)) |
| ✓ | 0.5b | (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x))) |
| ✓ | 0.6b | (cbrt.f64 (+.f64 x y)) |
| ✓ | 0.6b | (cbrt.f64 (+.f64 y x)) |
4 calls:
| 377.0ms | (fma.f64 (log.f64 t) -1/2 (log.f64 z)) |
| 26.0ms | (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x))) |
| 22.0ms | (cbrt.f64 (+.f64 x y)) |
| 22.0ms | (cbrt.f64 (+.f64 y x)) |
| 1× | rewrite-expression-head |
| 32× | *-un-lft-identity_binary64 |
| 32× | cbrt-prod_binary64 |
| 22× | add-sqr-sqrt_binary64 |
| 16× | cbrt-div_binary64 |
| 14× | add-cube-cbrt_binary64 |
4 calls:
| 8.0ms | (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x))) |
| 2.0ms | (cbrt.f64 (+.f64 y x)) |
| 2.0ms | (cbrt.f64 (+.f64 x y)) |
| 0.0ms | (fma.f64 (log.f64 t) -1/2 (log.f64 z)) |
| 1× | egg-herbie |
| 604× | fma-def_binary64 |
| 401× | fma-neg_binary64 |
| 348× | times-frac_binary64 |
| 243× | associate-/l*_binary64 |
| 204× | associate-/r*_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 265 | 4462 |
| 1 | 631 | 4279 |
| 2 | 1753 | 3852 |
| 3 | 4761 | 3845 |
| 4 | 5034 | 3845 |
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 232 | 0 | 232 |
| Fresh | 0 | 6 | 6 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 232 | 8 | 240 |
| Status | Error | Program |
| ▶ | 0.2b | (+.f64 (-.f64 (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| 15.3b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (*.f64 (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)) (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)))) | |
| ✓ | 0.2b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| ✓ | 0.2b | (-.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x)))) (+.f64 (fma.f64 (log.f64 t) -1/2 (log.f64 z)) (log.f64 (cbrt.f64 (+.f64 x y))))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 51.3b | (log.f64 (*.f64 (pow.f64 t (+.f64 a -1/2)) (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)))) | |
| 0.2b | (+.f64 (fma.f64 (+.f64 a -1/2) (*.f64 2 (log.f64 (cbrt.f64 t))) (-.f64 (+.f64 (log.f64 z) (log.f64 (+.f64 y x))) t)) (*.f64 (log.f64 (cbrt.f64 t)) (-.f64 a 1/2))) | |
| 31.5b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (*.f64 (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (log.f64 t)))) | |
| 0.3b | (-.f64 (-.f64 (log.f64 z) (-.f64 (*.f64 1/2 (log.f64 t)) (log.f64 y))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
Compiled 10050 to 3680 computations (63.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.1b | (*.f64 (-.f64 a 1/2) (log.f64 t)) | |
| ✓ | 0.4b | (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) |
| ✓ | 0.5b | (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) |
| ✓ | 0.6b | (cbrt.f64 z) |
3 calls:
| 849.0ms | (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) |
| 826.0ms | (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) |
| 32.0ms | (cbrt.f64 z) |
| 1× | rewrite-expression-head |
| 22× | log-prod_binary64 |
| 18× | associate-+r+_binary64 |
| 18× | *-un-lft-identity_binary64 |
| 13× | add-sqr-sqrt_binary64 |
| 13× | add-cube-cbrt_binary64 |
3 calls:
| 6.0ms | (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) |
| 6.0ms | (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) |
| 1.0ms | (cbrt.f64 z) |
| 1× | egg-herbie |
| 548× | distribute-rgt-in_binary64 |
| 516× | fma-neg_binary64 |
| 447× | distribute-lft-in_binary64 |
| 292× | times-frac_binary64 |
| 276× | sub-neg_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 259 | 3227 |
| 1 | 755 | 2853 |
| 2 | 2450 | 2596 |
| 3 | 4340 | 2560 |
| 4 | 5020 | 2560 |
8 alts after pruning (5 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 274 | 0 | 274 |
| Fresh | 0 | 5 | 5 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 274 | 8 | 282 |
| Status | Error | Program |
| ✓ | 0.2b | (+.f64 (-.f64 (+.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 2 (log.f64 (cbrt.f64 z)))) (log.f64 (cbrt.f64 z))) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) |
| 15.3b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (*.f64 (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)) (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)))) | |
| ✓ | 0.2b | (-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 -1/2 (log.f64 t)))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| ✓ | 0.2b | (-.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (+.f64 y x)) (cbrt.f64 (+.f64 y x)))) (+.f64 (fma.f64 (log.f64 t) -1/2 (log.f64 z)) (log.f64 (cbrt.f64 (+.f64 x y))))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
| 51.3b | (log.f64 (*.f64 (pow.f64 t (+.f64 a -1/2)) (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)))) | |
| 0.2b | (+.f64 (fma.f64 (+.f64 a -1/2) (*.f64 2 (log.f64 (cbrt.f64 t))) (-.f64 (+.f64 (log.f64 z) (log.f64 (+.f64 y x))) t)) (*.f64 (log.f64 (cbrt.f64 t)) (-.f64 a 1/2))) | |
| 31.5b | (+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (*.f64 (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)) (log.f64 t)))) | |
| 0.3b | (-.f64 (-.f64 (log.f64 z) (-.f64 (*.f64 1/2 (log.f64 t)) (log.f64 y))) (fma.f64 a (neg.f64 (log.f64 t)) t)) |
Compiled 8403 to 3979 computations (52.6% saved)
Total 0.2b remaining (88%)
Threshold costs 0.2b (88%)
Compiled 71087 to 49062 computations (31% saved)
| 1× | egg-herbie |
| 6× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 2× | *-commutative_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 37 |
| 1 | 27 | 37 |
| 2 | 32 | 37 |
| 3 | 35 | 37 |
| 4 | 36 | 37 |
| 5 | 36 | 37 |
(sort x y)
Compiled 334 to 213 computations (36.2% saved)
Loading profile data...