Time bar (total: 14.3s)
| 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× | intervals |
| 20.0ms | 50× | body | 1024 | valid |
| 11.0ms | 25× | body | 2048 | valid |
| 11.0ms | 145× | body | 128 | valid |
| 6.0ms | 23× | body | 512 | valid |
| 5.0ms | 67× | body | 128 | nan |
| 3.0ms | 37× | body | 128 | invalid |
| 2.0ms | 13× | body | 256 | valid |
Compiled 57 to 45 computations (21.1% saved)
| 1× | egg-herbie |
| 146× | cancel-sign-sub-inv_binary64 |
| 110× | distribute-rgt-neg-in_binary64 |
| 104× | associate-/l*_binary64 |
| 69× | distribute-neg-frac_binary64 |
| 69× | div-sub_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 29 |
| 1 | 33 | 29 |
| 2 | 61 | 29 |
| 3 | 106 | 29 |
| 4 | 188 | 29 |
| 5 | 282 | 29 |
| 6 | 392 | 29 |
| 7 | 494 | 29 |
| 8 | 604 | 29 |
| 9 | 715 | 29 |
| 10 | 843 | 29 |
| 11 | 883 | 29 |
| 12 | 866 | 29 |
| 13 | 868 | 29 |
| 14 | 868 | 29 |
| 15 | 757 | 29 |
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 0 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 1 | 2 |
| Status | Error | Program |
| ▶ | 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3))) |
Compiled 75 to 57 computations (24% saved)
Found 4 expressions with local error:
| 0.2b | (/.f64 (*.f64 z t) 3) |
| 0.2b | (/.f64 a (*.f64 b 3)) |
| 0.3b | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) |
| 24.9b | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) |
| 1× | rewrite-expression-head |
| 19× | add-cbrt-cube_binary64 |
| 19× | add-exp-log_binary64 |
| 11× | *-un-lft-identity_binary64 |
| 11× | add-sqr-sqrt_binary64 |
| 11× | add-cube-cbrt_binary64 |
4 calls:
| 12.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) |
| 7.0ms | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) |
| 4.0ms | (/.f64 (*.f64 z t) 3) |
| 4.0ms | (/.f64 a (*.f64 b 3)) |
Compiled 2116 to 1295 computations (38.8% saved)
4 calls:
| 75.0ms | (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) |
| 38.0ms | (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) |
| 18.0ms | (/.f64 a (*.f64 b 3)) |
| 17.0ms | (/.f64 (*.f64 z t) 3) |
Compiled 2760 to 1984 computations (28.1% saved)
| 1× | egg-herbie |
| 470× | associate-/l*_binary64 |
| 274× | times-frac_binary64 |
| 260× | associate-*l/_binary64 |
| 239× | associate-*l*_binary64 |
| 207× | associate-*r*_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 247 | 2294 |
| 1 | 582 | 2049 |
| 2 | 1749 | 1991 |
| 3 | 4187 | 1991 |
| 4 | 4990 | 1991 |
| 5 | 5000 | 1991 |
| 6 | 4982 | 1991 |
23 alts after pruning (23 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 57 | 23 | 80 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 58 | 23 | 81 |
| Status | Error | Program |
| 38.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (exp.f64 (log.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 b (/.f64 a 3)))) | |
| 42.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (sqrt.f64 a) (/.f64 b (/.f64 (sqrt.f64 a) 3)))) | |
| 29.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (*.f64 t z))) (cbrt.f64 (*.f64 1/3 (*.f64 t z)))) (cbrt.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (/.f64 b (/.f64 (cbrt.f64 a) 3)))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 3))) | |
| 36.2b | (-.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x))) (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 a (/.f64 1/3 b))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))))) (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 36.4b | (-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 25.6b | (-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (cos.f64 y)) (*.f64 (*.f64 t (*.f64 z (sin.f64 y))) 2/3))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z (/.f64 t (sqrt.f64 3))) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3))) | |
| 21.4b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x)))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| ▶ | 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) |
| 30.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 1 (/.f64 3 (*.f64 t z)))))) (/.f64 a (*.f64 b 3))) | |
| 49.0b | (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) 3))) (/.f64 a (*.f64 b 3))) | |
| 30.2b | (-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (*.f64 t (*.f64 z (sin.f64 y))) 2/3) (*.f64 (cos.f64 y) (-.f64 2 (*.f64 1/9 (*.f64 (*.f64 t z) (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 z (/.f64 t 3))))) (/.f64 a (*.f64 b 3))) |
Compiled 2650 to 1801 computations (32% saved)
Found 4 expressions with local error:
| 0.3b | (*.f64 1/3 (*.f64 t z)) |
| 0.3b | (*.f64 t -1/3) |
| 30.6b | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
| 30.8b | (cos.f64 (*.f64 1/3 (*.f64 t z))) |
| 1× | rewrite-expression-head |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
| 11× | pow1_binary64 |
| 9× | add-sqr-sqrt_binary64 |
| 7× | *-un-lft-identity_binary64 |
4 calls:
| 5.0ms | (*.f64 1/3 (*.f64 t z)) |
| 4.0ms | (*.f64 t -1/3) |
| 2.0ms | (cos.f64 (*.f64 1/3 (*.f64 t z))) |
| 2.0ms | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
Compiled 1620 to 973 computations (39.9% saved)
4 calls:
| 30.0ms | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
| 21.0ms | (cos.f64 (*.f64 1/3 (*.f64 t z))) |
| 21.0ms | (*.f64 1/3 (*.f64 t z)) |
| 8.0ms | (*.f64 t -1/3) |
Compiled 2143 to 1565 computations (27% saved)
| 1× | egg-herbie |
| 604× | unswap-sqr_binary64 |
| 387× | distribute-rgt-neg-in_binary64 |
| 325× | distribute-lft-neg-in_binary64 |
| 318× | *-commutative_binary64 |
| 309× | neg-mul-1_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 107 | 834 |
| 1 | 219 | 736 |
| 2 | 668 | 735 |
| 3 | 1184 | 735 |
| 4 | 2043 | 735 |
| 5 | 4445 | 735 |
| 6 | 5015 | 735 |
26 alts after pruning (26 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 30 | 6 | 36 |
| Fresh | 2 | 20 | 22 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 33 | 26 | 59 |
| Status | Error | Program |
| 38.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (exp.f64 (log.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 b (/.f64 a 3)))) | |
| 42.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (sqrt.f64 a) (/.f64 b (/.f64 (sqrt.f64 a) 3)))) | |
| 29.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (*.f64 t z))) (cbrt.f64 (*.f64 1/3 (*.f64 t z)))) (cbrt.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (/.f64 b (/.f64 (cbrt.f64 a) 3)))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 3))) | |
| 36.2b | (-.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x))) (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 25.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (*.f64 (*.f64 t z) -1/3) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 a (/.f64 1/3 b))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))))) (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3)) (*.f64 (*.f64 t z) (cbrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 36.4b | (-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 25.6b | (-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (cos.f64 y)) (*.f64 (*.f64 t (*.f64 z (sin.f64 y))) 2/3))) (/.f64 a (*.f64 b 3))) | |
| 29.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (sqrt.f64 t) (*.f64 -1/3 (sqrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z (/.f64 t (sqrt.f64 3))) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3))) | |
| 21.4b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x)))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| ▶ | 20.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) |
| 30.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 1 (/.f64 3 (*.f64 t z)))))) (/.f64 a (*.f64 b 3))) | |
| 20.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t 1/3) z)) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 49.0b | (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) 3))) (/.f64 a (*.f64 b 3))) |
Compiled 2517 to 1754 computations (30.3% saved)
Found 4 expressions with local error:
| 0.3b | (*.f64 (*.f64 t z) (sqrt.f64 1/3)) |
| 0.3b | (*.f64 t -1/3) |
| 30.6b | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 30.6b | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
| 1× | rewrite-expression-head |
| 11× | add-cbrt-cube_binary64 |
| 11× | add-exp-log_binary64 |
| 11× | pow1_binary64 |
| 10× | add-sqr-sqrt_binary64 |
| 9× | associate-*r*_binary64 |
4 calls:
| 7.0ms | (*.f64 (*.f64 t z) (sqrt.f64 1/3)) |
| 4.0ms | (*.f64 t -1/3) |
| 3.0ms | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 2.0ms | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
Compiled 1947 to 1261 computations (35.2% saved)
4 calls:
| 31.0ms | (sin.f64 (*.f64 z (*.f64 t -1/3))) |
| 30.0ms | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 26.0ms | (*.f64 (*.f64 t z) (sqrt.f64 1/3)) |
| 9.0ms | (*.f64 t -1/3) |
Compiled 2395 to 1806 computations (24.6% saved)
| 1× | egg-herbie |
| 672× | distribute-rgt-neg-in_binary64 |
| 364× | unswap-sqr_binary64 |
| 361× | cancel-sign-sub-inv_binary64 |
| 339× | *-commutative_binary64 |
| 188× | distribute-lft-neg-in_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 125 | 986 |
| 1 | 266 | 818 |
| 2 | 828 | 818 |
| 3 | 1461 | 818 |
| 4 | 3066 | 818 |
| 5 | 4760 | 818 |
| 6 | 4930 | 818 |
31 alts after pruning (31 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 43 | 9 | 52 |
| Fresh | 3 | 22 | 25 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 47 | 31 | 78 |
| Status | Error | Program |
| 38.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (exp.f64 (log.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 b (/.f64 a 3)))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 -1/3 (*.f64 t z))))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3)))) (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))) (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 42.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (sqrt.f64 a) (/.f64 b (/.f64 (sqrt.f64 a) 3)))) | |
| 20.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 -1/3 (*.f64 t z))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 29.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 38.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (exp.f64 (log.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (*.f64 t z))) (cbrt.f64 (*.f64 1/3 (*.f64 t z)))) (cbrt.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (/.f64 b (/.f64 (cbrt.f64 a) 3)))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 3))) | |
| 36.2b | (-.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x))) (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 25.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (*.f64 (*.f64 t z) -1/3) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 a (/.f64 1/3 b))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))))) (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3)) (*.f64 (*.f64 t z) (cbrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 36.4b | (-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 25.6b | (-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (cos.f64 y)) (*.f64 (*.f64 t (*.f64 z (sin.f64 y))) 2/3))) (/.f64 a (*.f64 b 3))) | |
| ▶ | 20.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) |
| 30.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (cbrt.f64 (pow.f64 (*.f64 -1/3 t) 3)))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 29.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (sqrt.f64 t) (*.f64 -1/3 (sqrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z (/.f64 t (sqrt.f64 3))) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3))) | |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))) 3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.4b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x)))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 54.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (sqrt.f64 (*.f64 -1/3 t)) (sqrt.f64 (*.f64 -1/3 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 30.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 -1/3 t)) (cbrt.f64 (*.f64 -1/3 t))) (cbrt.f64 (*.f64 -1/3 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 49.0b | (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) 3))) (/.f64 a (*.f64 b 3))) |
Compiled 3522 to 2506 computations (28.8% saved)
Found 4 expressions with local error:
| 0.5b | (cbrt.f64 t) |
| 0.5b | (cbrt.f64 t) |
| 30.6b | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 30.8b | (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) |
| 1× | rewrite-expression-head |
| 6× | cbrt-prod_binary64 |
| 6× | *-un-lft-identity_binary64 |
| 6× | add-sqr-sqrt_binary64 |
| 6× | add-cube-cbrt_binary64 |
| 4× | add-cbrt-cube_binary64 |
4 calls:
| 3.0ms | (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) |
| 3.0ms | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 1.0ms | (cbrt.f64 t) |
| 1.0ms | (cbrt.f64 t) |
Compiled 1727 to 958 computations (44.5% saved)
4 calls:
| 34.0ms | (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) |
| 31.0ms | (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) |
| 20.0ms | (cbrt.f64 t) |
| 18.0ms | (cbrt.f64 t) |
Compiled 2549 to 1852 computations (27.3% saved)
| 1× | egg-herbie |
| 674× | associate-*l*_binary64 |
| 664× | associate-*r*_binary64 |
| 626× | cancel-sign-sub-inv_binary64 |
| 584× | distribute-rgt-neg-in_binary64 |
| 565× | distribute-lft-neg-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 84 | 850 |
| 1 | 191 | 584 |
| 2 | 527 | 578 |
| 3 | 2589 | 578 |
| 4 | 4482 | 570 |
| 5 | 4922 | 570 |
| 6 | 4883 | 570 |
32 alts after pruning (32 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 34 | 3 | 37 |
| Fresh | 1 | 29 | 30 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 36 | 32 | 68 |
| Status | Error | Program |
| 38.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (exp.f64 (log.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 b (/.f64 a 3)))) | |
| 20.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3)))) (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))) (cbrt.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 42.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (sqrt.f64 a) (/.f64 b (/.f64 (sqrt.f64 a) 3)))) | |
| 20.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (log.f64 (exp.f64 (sin.f64 (*.f64 -1/3 (*.f64 t z))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 29.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3))) | |
| 38.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (exp.f64 (log.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))))))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (*.f64 t z))) (cbrt.f64 (*.f64 1/3 (*.f64 t z)))) (cbrt.f64 (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 21.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (/.f64 b (/.f64 (cbrt.f64 a) 3)))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (pow.f64 (/.f64 a (*.f64 b 3)) 3))) | |
| 36.2b | (-.f64 (*.f64 (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x))) (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 25.9b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (*.f64 (*.f64 t z) -1/3) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 a (/.f64 1/3 b))) | |
| 21.2b | (-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (cbrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))))) (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3)) (*.f64 (*.f64 t z) (cbrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (+.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 36.4b | (-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 25.6b | (-.f64 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 2 (cos.f64 y)) (*.f64 (*.f64 t (*.f64 z (sin.f64 y))) 2/3))) (/.f64 a (*.f64 b 3))) | |
| 30.5b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (cbrt.f64 (pow.f64 (*.f64 -1/3 t) 3)))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 29.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (sqrt.f64 t) (*.f64 -1/3 (sqrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.0b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z (/.f64 t (sqrt.f64 3))) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3))) | |
| 28.3b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (sqrt.f64 1/3))) 3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 29.7b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 t 2/3)) (cbrt.f64 (cbrt.f64 t))) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 21.4b | (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x)))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (cbrt.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))))) (/.f64 a (*.f64 b 3))) | |
| 35.4b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (sqrt.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))))) (/.f64 a (*.f64 b 3))) | |
| 54.8b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (sqrt.f64 (*.f64 -1/3 t)) (sqrt.f64 (*.f64 -1/3 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t z) 1/3))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t z) 1/3)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t z) 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 30.6b | (-.f64 (cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 t z) (sqrt.f64 1/3)))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 -1/3 t)) (cbrt.f64 (*.f64 -1/3 t))) (cbrt.f64 (*.f64 -1/3 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 20.6b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t z) 1/3)) 3)) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 -1/3 (cbrt.f64 t))))) (sin.f64 y)))) (/.f64 a (*.f64 b 3))) | |
| 49.0b | (-.f64 (log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z))))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3))) | |
| 21.1b | (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (*.f64 1/3 (*.f64 t z)))) 3))) (/.f64 a (*.f64 b 3))) |
Compiled 2253 to 1516 computations (32.7% saved)
Total -1.3b remaining (-7.4%)
Threshold costs -1.3b (-7.4%)
Compiled 126580 to 94328 computations (25.5% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
| 3× | +-commutative_binary64 |
| 3× | sub-neg_binary64 |
| 2× | neg-sub0_binary64 |
| 2× | neg-mul-1_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 20 |
| 1 | 19 | 20 |
| 2 | 26 | 20 |
| 3 | 30 | 20 |
| 4 | 33 | 20 |
| 5 | 34 | 20 |
| 6 | 34 | 20 |
(sort z t)
Compiled 57 to 45 computations (21.1% saved)
| 1× | intervals |
| 531.0ms | 1566× | body | 1024 | valid |
| 437.0ms | 772× | body | 2048 | valid |
| 384.0ms | 4590× | body | 128 | valid |
| 191.0ms | 2281× | body | 128 | nan |
| 188.0ms | 733× | body | 512 | valid |
| 107.0ms | 1170× | body | 128 | invalid |
| 57.0ms | 337× | body | 256 | valid |
| 2.0ms | 2× | body | 4096 | valid |
Compiled 1265 to 950 computations (24.9% saved)
Loading profile data...