Time bar (total: 15.6s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 99.7% | 0.3% | 7 |
| 0% | 74.8% | 25.2% | 8 |
| 0% | 74.8% | 25.2% | 9 |
| 0% | 74.8% | 25.2% | 10 |
| 0% | 74.8% | 25.2% | 11 |
| 0% | 74.8% | 25.2% | 12 |
| 24.9% | 49.9% | 25.2% | 13 |
| 24.9% | 37.4% | 37.7% | 14 |
Compiled 26 to 20 computations (23.1% saved)
| 1.4s | 1649× | body | 1024 | valid |
| 916.0ms | 4670× | body | 128 | valid |
| 898.0ms | 785× | body | 2048 | valid |
| 785.0ms | 3485× | body | 128 | invalid |
| 416.0ms | 793× | body | 512 | valid |
| 138.0ms | 358× | body | 256 | valid |
| 3.0ms | 1× | body | 4096 | valid |
Compiled 52 to 40 computations (23.1% saved)
| 2× | egg-herbie |
| 16× | fma-neg_binary64 |
| 16× | fma-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 464 |
| 1 | 140 | 464 |
| 2 | 156 | 464 |
| 0 | 6 | 6 |
| 1× | saturated |
| 1× | saturated |
Compiled 25 to 19 computations (24% saved)
| 1× | egg-herbie |
| 1× | fma-neg_binary64 |
| 1× | fma-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 29 |
| 1 | 21 | 29 |
| 2 | 22 | 29 |
| 1× | saturated |
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 |
| 23.6b | (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| ▶ | 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3))) |
Compiled 144 to 106 computations (26.4% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f64 (*.f64 z t) 3) |
| ✓ | 0.2b | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) |
| ✓ | 0.5b | (/.f64 a (*.f64 b 3)) |
| ✓ | 27.4b | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) |
33 calls:
| 6.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) | x | -inf |
| 4.0ms | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) | z | 0 |
| 4.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) | t | inf |
| 3.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) | x | 0 |
| 3.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) | x | inf |
| 1× | batch-egg-rewrite |
| 332× | expm1-udef_binary64 |
| 332× | log1p-udef_binary64 |
| 185× | add-sqr-sqrt_binary64 |
| 174× | log1p-expm1-u_binary64 |
| 174× | expm1-log1p-u_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 46 |
| 1 | 344 | 46 |
| 2 | 3643 | 46 |
| 1× | node limit |
| 1× | egg-herbie |
| 1800× | sqr-pow_binary64 |
| 822× | pow-sqr_binary64 |
| 99× | cube-prod_binary64 |
| 99× | cube-mult_binary64 |
| 99× | unpow3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 2011 |
| 1 | 133 | 2011 |
| 2 | 155 | 2011 |
| 3 | 184 | 2011 |
| 4 | 229 | 2011 |
| 5 | 276 | 2011 |
| 6 | 332 | 2011 |
| 7 | 393 | 2011 |
| 8 | 464 | 2011 |
| 9 | 540 | 2011 |
| 10 | 626 | 2011 |
| 11 | 717 | 2011 |
| 12 | 818 | 2011 |
| 13 | 924 | 2011 |
| 14 | 1040 | 2011 |
| 15 | 1161 | 2011 |
| 16 | 1292 | 2011 |
| 17 | 1428 | 2011 |
| 18 | 1574 | 2011 |
| 19 | 1725 | 2011 |
| 20 | 1886 | 2011 |
| 21 | 2052 | 2011 |
| 22 | 2228 | 2011 |
| 23 | 2240 | 2011 |
| 24 | 2246 | 2011 |
| 25 | 2246 | 2011 |
| 26 | 2424 | 2011 |
| 27 | 2609 | 2011 |
| 28 | 2805 | 2011 |
| 29 | 3011 | 2011 |
| 30 | 3222 | 2011 |
| 31 | 3443 | 2011 |
| 32 | 3669 | 2011 |
| 33 | 3905 | 2011 |
| 34 | 4146 | 2011 |
| 35 | 4158 | 2011 |
| 36 | 4164 | 2011 |
| 37 | 4164 | 2011 |
| 38 | 4412 | 2011 |
| 39 | 4662 | 2011 |
| 40 | 4928 | 2011 |
| 1× | node limit |
26 alts after pruning (26 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 76 | 26 | 102 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 78 | 26 | 104 |
| Status | Error | Program |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 z t) 3) 2)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 23.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 1/3 (/.f64 a b))) | |
| 38.1b | (-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 27.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (+.f64 (cos.f64 y) (*.f64 1/3 (*.f64 (sin.f64 y) (*.f64 t z))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 3))) (/.f64 a (*.f64 b 3))) | |
| ▶ | 19.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) |
| 47.5b | (-.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 23.9b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 3) (/.f64 a (*.f64 b 3))) | |
| 29.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3))) | |
| 42.1b | (-.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 3) 1/3) (/.f64 a (*.f64 b 3))) | |
| 37.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 2)) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 42.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 b 3))) 2)) | |
| 33.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2)) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 38.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 1)) (/.f64 a (*.f64 b 3))) | |
| 42.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) 2)))) (/.f64 a (*.f64 b 3))) | |
| 32.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (cbrt.f64 (/.f64 a (*.f64 b 3))))) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 3)) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (fma.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3))) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) |
Compiled 4591 to 2955 computations (35.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
| ✓ | 0.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) |
| ✓ | 0.2b | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) |
| 0.5b | (/.f64 a (*.f64 b 3)) |
18 calls:
| 17.0ms | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) | x | 0 |
| 5.0ms | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) | b | inf |
| 4.0ms | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) | x | -inf |
| 3.0ms | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) | x | inf |
| 3.0ms | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) | y | -inf |
| 1× | batch-egg-rewrite |
| 336× | log-prod_binary64 |
| 252× | log-pow_binary64 |
| 250× | pow1/3_binary64 |
| 250× | expm1-udef_binary64 |
| 250× | log1p-udef_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 31 |
| 1 | 267 | 31 |
| 2 | 2784 | 31 |
| 1× | node limit |
| 1× | egg-herbie |
| 1717× | sqr-pow_binary64 |
| 842× | pow-sqr_binary64 |
| 57× | cube-prod_binary64 |
| 57× | cube-mult_binary64 |
| 57× | unpow3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 885 |
| 1 | 64 | 885 |
| 2 | 83 | 885 |
| 3 | 98 | 885 |
| 4 | 116 | 885 |
| 5 | 139 | 885 |
| 6 | 162 | 885 |
| 7 | 189 | 885 |
| 8 | 217 | 885 |
| 9 | 249 | 885 |
| 10 | 282 | 885 |
| 11 | 319 | 885 |
| 12 | 357 | 885 |
| 13 | 399 | 885 |
| 14 | 442 | 885 |
| 15 | 489 | 885 |
| 16 | 537 | 885 |
| 17 | 589 | 885 |
| 18 | 642 | 885 |
| 19 | 699 | 885 |
| 20 | 757 | 885 |
| 21 | 819 | 885 |
| 22 | 882 | 885 |
| 23 | 949 | 885 |
| 24 | 1017 | 885 |
| 25 | 1089 | 885 |
| 26 | 1162 | 885 |
| 27 | 1239 | 885 |
| 28 | 1317 | 885 |
| 29 | 1399 | 885 |
| 30 | 1482 | 885 |
| 31 | 1569 | 885 |
| 32 | 1657 | 885 |
| 33 | 1749 | 885 |
| 34 | 1842 | 885 |
| 35 | 1939 | 885 |
| 36 | 2037 | 885 |
| 37 | 2139 | 885 |
| 38 | 2143 | 885 |
| 39 | 2145 | 885 |
| 40 | 2145 | 885 |
| 41 | 2247 | 885 |
| 42 | 2352 | 885 |
| 43 | 2460 | 885 |
| 44 | 2572 | 885 |
| 45 | 2685 | 885 |
| 46 | 2802 | 885 |
| 47 | 2920 | 885 |
| 48 | 3042 | 885 |
| 49 | 3165 | 885 |
| 50 | 3292 | 885 |
| 51 | 3420 | 885 |
| 52 | 3552 | 885 |
| 53 | 3685 | 885 |
| 54 | 3822 | 885 |
| 55 | 3960 | 885 |
| 56 | 3964 | 885 |
| 57 | 3966 | 885 |
| 58 | 3966 | 885 |
| 59 | 4107 | 885 |
| 60 | 4248 | 885 |
| 61 | 4395 | 885 |
| 62 | 4543 | 885 |
| 63 | 4695 | 885 |
| 64 | 4848 | 885 |
| 1× | node limit |
32 alts after pruning (31 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 72 | 12 | 84 |
| Fresh | 6 | 19 | 25 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 78 | 32 | 110 |
| Status | Error | Program |
| 40.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 b 3))) 2)) | |
| 37.6b | (-.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) 1/3) (/.f64 a (*.f64 b 3))) | |
| 27.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (+.f64 (cos.f64 y) (*.f64 1/3 (*.f64 (sin.f64 y) (*.f64 t z))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 3))) (/.f64 a (*.f64 b 3))) | |
| ✓ | 19.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) |
| 47.5b | (-.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 61.8b | (log.f64 (exp.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3)))))) | |
| 23.9b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 3) (/.f64 a (*.f64 b 3))) | |
| 29.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3))) | |
| 36.2b | (pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3))))) 2) | |
| 37.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 2)) (/.f64 a (*.f64 b 3))) | |
| 39.9b | (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2) (+.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))))) | |
| 38.2b | (*.f64 -1/3 (/.f64 a b)) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 3)) (/.f64 a (*.f64 b 3))) | |
| 38.2b | (-.f64 (-.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (pow.f64 y 2) (sqrt.f64 x))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (fma.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3))) | |
| 30.1b | (*.f64 (cbrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3))))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3)))) 2))) | |
| 28.4b | (-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 33.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2)) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 42.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) 2)))) (/.f64 a (*.f64 b 3))) | |
| 32.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (cbrt.f64 (/.f64 a (*.f64 b 3))))) | |
| 31.6b | (-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3))) | |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 z t) 3) 2)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 24.9b | (-.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2)) (/.f64 a (*.f64 b 3))) | |
| ▶ | 19.4b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) |
| 38.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3))) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) |
Compiled 3651 to 2493 computations (31.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) |
| 0.5b | (/.f64 a (*.f64 b 3)) | |
| ✓ | 0.6b | (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) |
| ✓ | 0.6b | (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) |
24 calls:
| 167.0ms | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | y | -inf |
| 167.0ms | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | y | inf |
| 86.0ms | (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) | y | inf |
| 84.0ms | (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) | y | -inf |
| 82.0ms | (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) | y | inf |
| 1× | batch-egg-rewrite |
| 378× | log-prod_binary64 |
| 297× | log-pow_binary64 |
| 281× | expm1-udef_binary64 |
| 281× | log1p-udef_binary64 |
| 161× | add-sqr-sqrt_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 51 |
| 1 | 317 | 49 |
| 2 | 3183 | 49 |
| 1× | node limit |
| 1× | egg-herbie |
| 1709× | sqr-pow_binary64 |
| 703× | pow-sqr_binary64 |
| 52× | cube-prod_binary64 |
| 52× | cube-mult_binary64 |
| 52× | unpow3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 1737 |
| 1 | 142 | 1737 |
| 2 | 181 | 1737 |
| 3 | 211 | 1737 |
| 4 | 244 | 1737 |
| 5 | 280 | 1737 |
| 6 | 316 | 1737 |
| 7 | 356 | 1737 |
| 8 | 397 | 1737 |
| 9 | 442 | 1737 |
| 10 | 488 | 1737 |
| 11 | 538 | 1737 |
| 12 | 589 | 1737 |
| 13 | 644 | 1737 |
| 14 | 700 | 1737 |
| 15 | 760 | 1737 |
| 16 | 821 | 1737 |
| 17 | 886 | 1737 |
| 18 | 952 | 1737 |
| 19 | 1022 | 1737 |
| 20 | 1093 | 1737 |
| 21 | 1168 | 1737 |
| 22 | 1244 | 1737 |
| 23 | 1324 | 1737 |
| 24 | 1405 | 1737 |
| 25 | 1490 | 1737 |
| 26 | 1576 | 1737 |
| 27 | 1666 | 1737 |
| 28 | 1757 | 1737 |
| 29 | 1852 | 1737 |
| 30 | 1948 | 1737 |
| 31 | 2048 | 1737 |
| 32 | 2149 | 1737 |
| 33 | 2254 | 1737 |
| 34 | 2360 | 1737 |
| 35 | 2364 | 1737 |
| 36 | 2366 | 1737 |
| 37 | 2366 | 1737 |
| 38 | 2475 | 1737 |
| 39 | 2584 | 1737 |
| 40 | 2699 | 1737 |
| 41 | 2815 | 1737 |
| 42 | 2935 | 1737 |
| 43 | 3056 | 1737 |
| 44 | 3181 | 1737 |
| 45 | 3307 | 1737 |
| 46 | 3437 | 1737 |
| 47 | 3568 | 1737 |
| 48 | 3703 | 1737 |
| 49 | 3839 | 1737 |
| 50 | 3979 | 1737 |
| 51 | 4120 | 1737 |
| 52 | 4265 | 1737 |
| 53 | 4269 | 1737 |
| 54 | 4271 | 1737 |
| 55 | 4271 | 1737 |
| 56 | 4416 | 1737 |
| 57 | 4564 | 1737 |
| 58 | 4715 | 1737 |
| 59 | 4870 | 1737 |
| 1× | node limit |
43 alts after pruning (43 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 132 | 15 | 147 |
| Fresh | 2 | 28 | 30 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 136 | 43 | 179 |
| Status | Error | Program |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 z t) 3) 2)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 27.6b | (fma.f64 (*.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 x 1/3)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 24.9b | (-.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2)) (/.f64 a (*.f64 b 3))) | |
| 31.5b | (fma.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 1/3)) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 40.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 b 3))) 2)) | |
| 37.6b | (-.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) 1/3) (/.f64 a (*.f64 b 3))) | |
| 27.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (+.f64 (cos.f64 y) (*.f64 1/3 (*.f64 (sin.f64 y) (*.f64 t z))))) (/.f64 a (*.f64 b 3))) | |
| ▶ | 19.4b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) |
| 20.4b | (fma.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cos.f64 y) 2) x) 1/3) (pow.f64 (cbrt.f64 2) 2)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 3))) (/.f64 a (*.f64 b 3))) | |
| 31.4b | (fma.f64 (pow.f64 (exp.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 38.7b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (-.f64 (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)) (*.f64 1/6 (*.f64 (*.f64 (pow.f64 y 2) (cbrt.f64 2)) (pow.f64 x 1/6)))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 47.5b | (-.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 28.8b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 61.8b | (log.f64 (exp.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3)))))) | |
| 23.9b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 3) (/.f64 a (*.f64 b 3))) | |
| 29.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3))) | |
| 45.7b | (fma.f64 (pow.f64 (log.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 45.7b | (fma.f64 (pow.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 36.2b | (pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3))))) 2) | |
| 37.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 2)) (/.f64 a (*.f64 b 3))) | |
| 25.1b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (fabs.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 39.9b | (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2) (+.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))))) | |
| 38.2b | (*.f64 -1/3 (/.f64 a b)) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 3)) (/.f64 a (*.f64 b 3))) | |
| 45.8b | (fma.f64 (pow.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 28.4b | (-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 33.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 19.6b | (fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) 3) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2)) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 42.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) 2)))) (/.f64 a (*.f64 b 3))) | |
| 32.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (cbrt.f64 (/.f64 a (*.f64 b 3))))) | |
| 31.5b | (fma.f64 (exp.f64 (*.f64 2/3 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 31.6b | (-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3))) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 19.4b | (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 4)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 31.6b | (fma.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 1/3)) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (fma.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3))) | |
| 38.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3))) |
Compiled 7234 to 5018 computations (30.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| 0.5b | (/.f64 a (*.f64 b 3)) | |
| ✓ | 0.6b | (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) |
| ✓ | 0.6b | (cbrt.f64 (*.f64 2 (sqrt.f64 x))) |
| 0.6b | (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) |
9 calls:
| 85.0ms | (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) | y | -inf |
| 74.0ms | (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) | y | inf |
| 37.0ms | (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) | x | inf |
| 37.0ms | (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) | x | 0 |
| 17.0ms | (cbrt.f64 (*.f64 2 (sqrt.f64 x))) | x | inf |
| 1× | batch-egg-rewrite |
| 754× | log1p-expm1-u_binary64 |
| 754× | expm1-log1p-u_binary64 |
| 174× | log1p-udef_binary64 |
| 100× | add-sqr-sqrt_binary64 |
| 97× | add-cube-cbrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 24 |
| 1 | 208 | 24 |
| 2 | 2082 | 24 |
| 1× | node limit |
| 1× | egg-herbie |
| 1713× | sqr-pow_binary64 |
| 757× | pow-sqr_binary64 |
| 53× | cube-prod_binary64 |
| 53× | cube-mult_binary64 |
| 53× | unpow3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 546 |
| 1 | 77 | 546 |
| 2 | 109 | 546 |
| 3 | 138 | 546 |
| 4 | 169 | 546 |
| 5 | 203 | 546 |
| 6 | 237 | 546 |
| 7 | 275 | 546 |
| 8 | 314 | 546 |
| 9 | 357 | 546 |
| 10 | 401 | 546 |
| 11 | 449 | 546 |
| 12 | 498 | 546 |
| 13 | 551 | 546 |
| 14 | 605 | 546 |
| 15 | 663 | 546 |
| 16 | 722 | 546 |
| 17 | 785 | 546 |
| 18 | 849 | 546 |
| 19 | 917 | 546 |
| 20 | 986 | 546 |
| 21 | 1059 | 546 |
| 22 | 1133 | 546 |
| 23 | 1211 | 546 |
| 24 | 1290 | 546 |
| 25 | 1373 | 546 |
| 26 | 1457 | 546 |
| 27 | 1545 | 546 |
| 28 | 1634 | 546 |
| 29 | 1727 | 546 |
| 30 | 1821 | 546 |
| 31 | 1919 | 546 |
| 32 | 2018 | 546 |
| 33 | 2121 | 546 |
| 34 | 2225 | 546 |
| 35 | 2251 | 546 |
| 36 | 2253 | 546 |
| 37 | 2253 | 546 |
| 38 | 2355 | 546 |
| 39 | 2463 | 546 |
| 40 | 2574 | 546 |
| 41 | 2689 | 546 |
| 42 | 2805 | 546 |
| 43 | 2925 | 546 |
| 44 | 3046 | 546 |
| 45 | 3171 | 546 |
| 46 | 3297 | 546 |
| 47 | 3427 | 546 |
| 48 | 3558 | 546 |
| 49 | 3693 | 546 |
| 50 | 3829 | 546 |
| 51 | 3969 | 546 |
| 52 | 4110 | 546 |
| 53 | 4143 | 546 |
| 54 | 4145 | 546 |
| 55 | 4145 | 546 |
| 56 | 4284 | 546 |
| 57 | 4429 | 546 |
| 58 | 4577 | 546 |
| 59 | 4729 | 546 |
| 60 | 4882 | 546 |
| 1× | node limit |
45 alts after pruning (44 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 84 | 9 | 93 |
| Fresh | 7 | 35 | 42 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 91 | 45 | 136 |
| Status | Error | Program |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 z t) 3) 2)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 27.6b | (fma.f64 (*.f64 (pow.f64 (cbrt.f64 2) 2) (pow.f64 x 1/3)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 24.9b | (-.f64 (sqrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2)) (/.f64 a (*.f64 b 3))) | |
| 31.5b | (fma.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 1/3)) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 31.4b | (fma.f64 (exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 40.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 b 3))) 2)) | |
| 37.6b | (-.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) 1/3) (/.f64 a (*.f64 b 3))) | |
| 27.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (+.f64 (cos.f64 y) (*.f64 1/3 (*.f64 (sin.f64 y) (*.f64 t z))))) (/.f64 a (*.f64 b 3))) | |
| ✓ | 19.4b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) |
| 20.0b | (fma.f64 (pow.f64 (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))))) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 47.5b | (-.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 28.8b | (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2) (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 45.7b | (fma.f64 (pow.f64 (*.f64 (log.f64 (exp.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))))) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 61.8b | (log.f64 (exp.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3)))))) | |
| 23.9b | (-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 3) (/.f64 a (*.f64 b 3))) | |
| 29.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3))) | |
| 36.2b | (pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (/.f64 a (*.f64 b 3))))) 2) | |
| 37.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 2)) (/.f64 a (*.f64 b 3))) | |
| 19.6b | (fma.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x)))) 3) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 39.9b | (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 2) (+.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))))) | |
| 38.2b | (*.f64 -1/3 (/.f64 a b)) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) 3)) (/.f64 a (*.f64 b 3))) | |
| 45.8b | (fma.f64 (pow.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 20.4b | (fma.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) 1/3) (pow.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) 1/3)) (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 28.4b | (-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 33.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 19.6b | (fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) 3) 2) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 28.8b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 30.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27))))) (/.f64 a (*.f64 b 3))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2)) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3))) | |
| 38.7b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (-.f64 (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)) (*.f64 1/6 (*.f64 (*.f64 (*.f64 y y) (cbrt.f64 2)) (pow.f64 x 1/6)))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 42.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) 2)))) (/.f64 a (*.f64 b 3))) | |
| 32.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (cbrt.f64 (/.f64 a (*.f64 b 3))))) | |
| 31.5b | (fma.f64 (exp.f64 (*.f64 2/3 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 31.6b | (-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3))) | |
| 19.4b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (*.f64 2 (sqrt.f64 x)))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 23.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 19.4b | (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 4)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 25.1b | (fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y))) 2) (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) 2))) (neg.f64 (/.f64 a (*.f64 b 3)))) | |
| 23.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 3))) (/.f64 a (*.f64 b 3))) | |
| 23.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (fma.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3))) | |
| 38.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3))) |
Compiled 4510 to 3077 computations (31.8% saved)
Total 2.2b remaining (12.6%)
Threshold costs 0b (0%)
Compiled 93725 to 70870 computations (24.4% saved)
| 1× | binary-search |
1 calls:
| 0.0ms | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) |
| Iters | Point | Range | ||||
|---|---|---|---|---|---|---|
0.9999999999999992 | ∈ [ | 0.9999999999999986 | , | 0.9999999999999999 | ] | |
Compiled 14 to 11 computations (21.4% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 61 |
| 1× | saturated |
| 1× | fuel |
Compiled 1567 to 1181 computations (24.6% saved)
Loading profile data...