
Time bar (total: 5.0s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 8 |
| 4.2% | 3.1% | 71.7% | 0.2% | 0% | 25% | 0% | 9 |
| 4.2% | 3.1% | 71.3% | 0.2% | 0% | 25.3% | 0% | 10 |
| 6.3% | 4.7% | 69.2% | 0.2% | 0% | 25.9% | 0% | 11 |
| 9.2% | 6.6% | 65.8% | 0.2% | 0% | 27.4% | 0% | 12 |
Compiled 21 to 20 computations (4.8% saved)
| 1.7s | 15 687× | 0 | invalid |
| 879.0ms | 8 256× | 0 | valid |
ival-mult: 720.0ms (41.5% of total)ival-div: 588.0ms (33.9% of total)ival-sqrt: 178.0ms (10.3% of total)ival-acos: 177.0ms (10.2% of total)exact: 43.0ms (2.5% of total)ival-true: 20.0ms (1.2% of total)ival-assert: 10.0ms (0.6% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 27 | 0 | - | 2 | (-4.41197554284809e-197 -1.393542089376388e+124 1.2683002031983944e-60 4.701426431476854e+285) | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 18 | 0 | - | 3 | (-1.3136318852039512e+221 -3.62188612180095e+300 -2.6985539244369466e+240 6.226833385059057e+27) | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| 0 | 0 | - | 0 | - | t |
| 0 | 0 | - | 0 | - | #s(literal 3 binary64) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 1 | (1.094834578547863e-125 -2.6666904941069495e+197 -2.5110407370518456e+116 8.119366151354758e-36) | 0 | - | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| 0 | 0 | - | 0 | - | (*.f64 y #s(literal 27 binary64)) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 0 | 0 | - | 0 | - | #s(literal 27 binary64) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
| 0 | 0 | - | 0 | - | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 z #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (sqrt.f64 t) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f64 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) | u/n | 22 | 0 |
| ↳ | (/.f64 x (*.f64 y #s(literal 27 binary64))) | underflow | 57 | |
| ↳ | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | underflow | 56 | |
*.f64 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) | n*u | 15 | 0 |
/.f64 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) | o/n | 2 | 0 |
| ↳ | (/.f64 x (*.f64 y #s(literal 27 binary64))) | overflow | 2 | |
| ↳ | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | overflow | 2 | |
/.f64 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) | n/o | 1 | 0 |
| ↳ | (*.f64 z #s(literal 2 binary64)) | overflow | 1 | |
*.f64 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | n*u | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 2 | 0 |
| - | 39 | 215 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 2 | 0 | 0 |
| - | 39 | 0 | 215 |
| number | freq |
|---|---|
| 0 | 215 |
| 1 | 41 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 61.0ms | 512× | 0 | valid |
Compiled 293 to 76 computations (74.1% saved)
ival-mult: 14.0ms (40.4% of total)ival-div: 10.0ms (28.9% of total)ival-sqrt: 4.0ms (11.6% of total)ival-acos: 4.0ms (11.6% of total)exact: 1.0ms (2.9% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
Compiled 19 to 18 computations (5.3% saved)
Compiled 0 to 4 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 97.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
Compiled 19 to 18 computations (5.3% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) | |
| cost-diff | 0 | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 z #s(literal 2 binary64)) |
z |
#s(literal 2 binary64) |
(sqrt.f64 t) |
t |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 z #s(literal 2 binary64)) |
z |
#s(literal 2 binary64) |
(sqrt.f64 t) |
t |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.24609375 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) | |
| accuracy | 3.7872275454077617 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) | |
| accuracy | 6.185772119356528 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 33.0ms | 256× | 0 | valid |
Compiled 182 to 38 computations (79.1% saved)
ival-mult: 7.0ms (40.9% of total)ival-div: 5.0ms (29.2% of total)ival-sqrt: 2.0ms (11.7% of total)ival-acos: 2.0ms (11.7% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 1/9 (/ x y)) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | x | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27)))) |
| 3.0ms | y | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27)))) |
| 3.0ms | x | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27)))) |
| 2.0ms | t | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27)))) |
| 2.0ms | x | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27)))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 1/9 (/ x y)) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(* 1/18 (/ x (* y z))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(* 1/9 (/ x y)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
Compiled 303 to 48 computations (84.2% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 3 | 12 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 9 | 4 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 97.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ▶ | 86.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ▶ | 16.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| ▶ | 3.9% | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
Compiled 100 to 87 computations (13% saved)
| 1× | egg-herbie |
Found 11 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) | |
| cost-diff | 0 | (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) | |
| cost-diff | 0 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) | |
| cost-diff | 0 | (*.f64 y #s(literal 27 binary64)) | |
| cost-diff | 0 | (/.f64 x (*.f64 y #s(literal 27 binary64))) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | |
| cost-diff | 0 | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
#s(literal 3 binary64) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) |
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 z #s(literal 2 binary64)) |
z |
#s(literal 2 binary64) |
(sqrt.f64 t) |
t |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
#s(literal 3 binary64) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) |
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
x |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 z #s(literal 2 binary64)) |
z |
#s(literal 2 binary64) |
(sqrt.f64 t) |
t |
Found 11 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 3.7872275454077617 | (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) | |
| accuracy | 6.185772119356528 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) | |
| accuracy | 6.185772119356528 | (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) | |
| accuracy | 52.400669339967976 | #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) | |
| accuracy | 0.0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) | |
| accuracy | 53.16237781234753 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) | |
| accuracy | 0.0 | (*.f64 y #s(literal 27 binary64)) | |
| accuracy | 0.21484375 | (/.f64 x (*.f64 y #s(literal 27 binary64))) | |
| accuracy | 0.24609375 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) | |
| accuracy | 61.5294906222786 | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
| 34.0ms | 256× | 0 | valid |
Compiled 448 to 57 computations (87.3% saved)
ival-mult: 7.0ms (41.1% of total)ival-div: 5.0ms (29.3% of total)ival-sqrt: 2.0ms (11.7% of total)ival-acos: 2.0ms (11.7% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) |
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(* 1/9 (/ x y)) |
(* 1/27 (/ x y)) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 27 y) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | x | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 4.0ms | z | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 2.0ms | x | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 2.0ms | x | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 2.0ms | y | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(* 1/9 (/ x y)) |
(* 1/27 (/ x y)) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 27 y) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(* 1/9 (/ x y)) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(* 1/27 (/ x y)) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(*.f64 y #s(literal 27 binary64)) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(* 1/18 (/ x (* y z))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(* 27 y) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) |
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
(/.f64 x (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) |
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) |
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
Compiled 1 032 to 80 computations (92.2% saved)
7 alts after pruning (3 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 28 | 3 | 31 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 1 | 1 |
| Total | 28 | 7 | 35 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 97.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ✓ | 86.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ▶ | 53.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
| ▶ | 23.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| ✓ | 16.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| ▶ | 3.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
| ✓ | 3.9% | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
Compiled 189 to 152 computations (19.6% saved)
| 1× | egg-herbie |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) | |
| cost-diff | 0 | (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) | |
| cost-diff | 0 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) | |
| cost-diff | 0 | (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) | |
| cost-diff | 0 | (*.f64 y #s(literal 27 binary64)) | |
| cost-diff | 0 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(sqrt.f64 t) |
t |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(sqrt.f64 t) |
t |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) | |
| accuracy | 3.7872275454077617 | (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) | |
| accuracy | 61.71593437294053 | #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) | |
| accuracy | 53.16237781234753 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) | |
| accuracy | 61.658006704182405 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) | |
| accuracy | 0.0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| accuracy | 0.0 | (*.f64 y #s(literal 27 binary64)) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) | |
| accuracy | 61.618673591043496 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
| 39.0ms | 256× | 0 | valid |
Compiled 502 to 52 computations (89.6% saved)
ival-mult: 13.0ms (56.1% of total)ival-div: 5.0ms (21.6% of total)ival-sqrt: 2.0ms (8.6% of total)ival-acos: 2.0ms (8.6% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 27 y) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | x | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | t | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | x | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | y | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | y | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 27 y) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(* 1/18 (/ x (* y z))) |
(*.f64 y #s(literal 27 binary64)) |
(* 27 y) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
Compiled 886 to 52 computations (94.1% saved)
10 alts after pruning (3 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 22 | 3 | 25 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 4 | 4 |
| Total | 22 | 10 | 32 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 97.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ✓ | 86.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ✓ | 53.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
| ▶ | 33.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
| ✓ | 23.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| ▶ | 27.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
| ✓ | 16.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| ✓ | 3.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
| ✓ | 3.9% | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
| ▶ | 18.0% | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
Compiled 310 to 224 computations (27.7% saved)
| 1× | egg-herbie |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) | |
| cost-diff | 0 | (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) | |
| cost-diff | 0 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) | |
| cost-diff | 0 | (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) | |
| cost-diff | 0 | (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) | |
| cost-diff | 0 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) | |
| cost-diff | 0 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) | |
| cost-diff | 0 | (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) | |
| cost-diff | 0 | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(sqrt.f64 t) |
t |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
#s(literal 1 binary64) |
#s(literal 3 binary64) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) |
(*.f64 y #s(literal 27 binary64)) |
y |
#s(literal 27 binary64) |
(sqrt.f64 t) |
t |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) | |
| accuracy | 3.7872275454077617 | (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) | |
| accuracy | 62.103350683450856 | #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) | |
| accuracy | 0.0 | (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) | |
| accuracy | 61.618673591043496 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) | |
| accuracy | 61.6647702475489 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) | |
| accuracy | 0.97265625 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) | |
| accuracy | 52.60774083229577 | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) | |
| accuracy | 53.16237781234753 | #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) | |
| accuracy | 61.658006704182405 | #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
| 33.0ms | 256× | 0 | valid |
Compiled 642 to 57 computations (91.1% saved)
ival-mult: 7.0ms (40.7% of total)ival-div: 6.0ms (34.9% of total)ival-sqrt: 2.0ms (11.6% of total)ival-acos: 2.0ms (11.6% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | t | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | x | @ | -inf | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | x | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1.0ms | y | @ | 0 | ((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
(* 1/18 (/ x (* y z))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
| Outputs |
|---|
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos (* 1/18 (* (sqrt t) (/ x (* y z))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
(* 1/18 (* (sqrt t) (/ x (* y z)))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(* 1/18 (/ x (* y z))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) |
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))) |
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))) |
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) |
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))) |
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) |
Compiled 1 104 to 52 computations (95.3% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 21 | 2 | 23 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 3 | 4 | 7 |
| Total | 25 | 8 | 33 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 97.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ✓ | 86.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| ✓ | 53.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
| 53.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) | |
| ✓ | 33.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
| ✓ | 23.9% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| ✓ | 27.7% | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
| 19.5% | #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
Compiled 652 to 242 computations (62.9% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
13 calls:
| 7.0ms | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 5.0ms | x |
| 5.0ms | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 4.0ms | (*.f64 z #s(literal 2 binary64)) |
| 4.0ms | (sqrt.f64 t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 97.7% | 1 | x |
| 97.7% | 1 | y |
| 97.7% | 1 | z |
| 97.7% | 1 | t |
| 97.7% | 1 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 97.7% | 1 | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
| 97.7% | 1 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| 97.7% | 1 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 97.7% | 1 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| 97.7% | 1 | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 97.7% | 1 | (*.f64 y #s(literal 27 binary64)) |
| 97.7% | 1 | (*.f64 z #s(literal 2 binary64)) |
| 97.7% | 1 | (sqrt.f64 t) |
Compiled 83 to 108 computations (-30.1% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
13 calls:
| 7.0ms | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 4.0ms | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 3.0ms | (*.f64 z #s(literal 2 binary64)) |
| 3.0ms | (sqrt.f64 t) |
| 3.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 53.9% | 1 | x |
| 63.1% | 3 | y |
| 53.9% | 1 | z |
| 65.7% | 3 | t |
| 53.9% | 1 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 53.9% | 1 | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
| 53.9% | 1 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| 53.9% | 1 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 55.6% | 2 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| 55.6% | 2 | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 63.1% | 3 | (*.f64 y #s(literal 27 binary64)) |
| 53.9% | 1 | (*.f64 z #s(literal 2 binary64)) |
| 65.7% | 3 | (sqrt.f64 t) |
Compiled 83 to 108 computations (-30.1% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
2 calls:
| 4.0ms | (sqrt.f64 t) |
| 3.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 65.6% | 3 | t |
| 65.6% | 3 | (sqrt.f64 t) |
Compiled 3 to 9 computations (-200% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
2 calls:
| 3.0ms | (sqrt.f64 t) |
| 3.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 63.1% | 2 | t |
| 63.1% | 2 | (sqrt.f64 t) |
Compiled 3 to 9 computations (-200% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
13 calls:
| 4.0ms | x |
| 3.0ms | (*.f64 y #s(literal 27 binary64)) |
| 3.0ms | (sqrt.f64 t) |
| 3.0ms | t |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.9% | 1 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 33.9% | 1 | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
| 35.8% | 2 | x |
| 33.9% | 1 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 33.9% | 1 | z |
| 33.9% | 1 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| 33.9% | 1 | (*.f64 z #s(literal 2 binary64)) |
| 38.2% | 3 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| 38.2% | 3 | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 42.9% | 3 | y |
| 42.9% | 3 | (*.f64 y #s(literal 27 binary64)) |
| 36.8% | 2 | t |
| 36.8% | 2 | (sqrt.f64 t) |
Compiled 83 to 108 computations (-30.1% saved)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))) |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
2 calls:
| 2.0ms | (*.f64 y #s(literal 27 binary64)) |
| 2.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 41.2% | 3 | y |
| 41.2% | 3 | (*.f64 y #s(literal 27 binary64)) |
Compiled 4 to 10 computations (-150% saved)
Total -11.0b remaining (-21.3%)
Threshold costs -11b (-21.3%)
| Inputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))) |
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| Outputs |
|---|
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
13 calls:
| 3.0ms | t |
| 2.0ms | (*.f64 z #s(literal 2 binary64)) |
| 2.0ms | y |
| 2.0ms | (*.f64 y #s(literal 27 binary64)) |
| 2.0ms | (sqrt.f64 t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 19.5% | 1 | (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) |
| 19.5% | 1 | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
| 19.5% | 1 | (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))) |
| 19.5% | 1 | (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)) |
| 19.5% | 1 | z |
| 19.5% | 1 | (*.f64 z #s(literal 2 binary64)) |
| 19.5% | 1 | x |
| 19.5% | 1 | (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) |
| 19.5% | 1 | (/.f64 x (*.f64 y #s(literal 27 binary64))) |
| 19.5% | 1 | t |
| 19.5% | 1 | (sqrt.f64 t) |
| 19.5% | 1 | y |
| 19.5% | 1 | (*.f64 y #s(literal 27 binary64)) |
Compiled 83 to 108 computations (-30.1% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 1.1759834740480606e+57 | 2.761053574158109e+59 |
| 16.0ms | 0.11869936970422072 | 5.547120954528828 |
| 21.0ms | 224× | 0 | valid |
| 3.0ms | 38× | 0 | invalid |
Compiled 1 163 to 718 computations (38.3% saved)
ival-mult: 7.0ms (42.7% of total)ival-div: 6.0ms (36.6% of total)ival-acos: 2.0ms (12.2% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.1759834740480606e+57 | 2.761053574158109e+59 |
| 15.0ms | 0.11869936970422072 | 5.547120954528828 |
| 10.0ms | 80× | 0 | valid |
| 1.0ms | 13× | 0 | invalid |
Compiled 1 023 to 683 computations (33.2% saved)
ival-mult: 5.0ms (61.9% of total)ival-div: 2.0ms (24.8% of total)ival-acos: 1.0ms (12.4% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 0.11869936970422072 | 5.547120954528828 |
Compiled 449 to 340 computations (24.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 1.2943977136698765e+69 | 6.786030929673455e+75 |
| 22.0ms | -1.0094063258943796e+92 | -4.1466126938807195e+82 |
| 28.0ms | 288× | 0 | valid |
| 2.0ms | 28× | 0 | invalid |
Compiled 1 102 to 835 computations (24.2% saved)
ival-div: 7.0ms (33% of total)ival-mult: 7.0ms (33% of total)ival-acos: 4.0ms (18.9% of total)ival-sqrt: 2.0ms (9.4% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 0.15514364541845324 | 13.034328539592545 |
| 23.0ms | -2.908284739945411 | -6.219744487001646e-7 |
| 23.0ms | 256× | 0 | valid |
| 5.0ms | 53× | 0 | invalid |
Compiled 1 238 to 777 computations (37.2% saved)
ival-mult: 7.0ms (37.6% of total)ival-div: 6.0ms (32.3% of total)ival-sqrt: 2.0ms (10.8% of total)ival-acos: 2.0ms (10.8% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 5584463537939415/9007199254740992 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))) |
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -35000000000000000070804278645219069770522953764719027746837274306257037957919038784032210944 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 2299999999999999851128222259144135968344773549223308672231624187779743744000 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -7926335344172073/9007199254740992 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 1170935903116329/2251799813685248 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| Outputs |
|---|
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 5584463537939415/9007199254740992 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))))) |
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))) |
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -35000000000000000070804278645219069770522953764719027746837274306257037957919038784032210944 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 2299999999999999851128222259144135968344773549223308672231624187779743744000 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -7926335344172073/9007199254740992 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 1170935903116329/2251799813685248 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))) |
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) |
| 1× | fuel |
Compiled 617 to 76 computations (87.7% saved)
Compiled 1 306 to 220 computations (83.2% saved)
Loading profile data...