
Time bar (total: 1.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 11 to 10 computations (9.1% saved)
| 398.0ms | 8 256× | 0 | valid |
ival-mult: 111.0ms (52.4% of total)ival-sub: 89.0ms (42% of total)ival-true: 5.0ms (2.4% of total)exact: 4.0ms (1.9% of total)ival-assert: 3.0ms (1.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 11 | 0 | - | 0 | - | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) y) |
| 0 | 0 | - | 0 | - | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
*.f64 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) | n*o | 11 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 11 | 0 |
| - | 0 | 245 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 11 | 0 | 0 |
| - | 0 | 0 | 245 |
| number | freq |
|---|---|
| 0 | 245 |
| 1 | 11 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 27.0ms | 512× | 0 | valid |
Compiled 97 to 36 computations (62.9% saved)
ival-mult: 6.0ms (49.2% of total)ival-sub: 5.0ms (41% 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 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| Outputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
Compiled 9 to 8 computations (11.1% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 95.9% | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
Compiled 9 to 8 computations (11.1% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) y) | |
| cost-diff | 0 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) | |
| cost-diff | 0 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| Inputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
x |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(literal 1 binary64) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
| Outputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
x |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(literal 1 binary64) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 0.00390625 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| accuracy | 2.6478704457624755 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 13.0ms | 256× | 0 | valid |
Compiled 58 to 18 computations (69% saved)
ival-mult: 3.0ms (50.5% of total)ival-sub: 2.0ms (33.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 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
x |
(+ x (* x (* z (- y 1)))) |
(+ 1 (* z (- y 1))) |
(* z (- 1 y)) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y)) |
| 1.0ms | z | @ | inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y)) |
| 1.0ms | x | @ | 0 | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y)) |
| 1.0ms | y | @ | 0 | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y)) |
| 1.0ms | z | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
x |
(+ x (* x (* z (- y 1)))) |
(+ 1 (* z (- y 1))) |
(* z (- 1 y)) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(* x (- 1 z)) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(- 1 z) |
(-.f64 #s(literal 1 binary64) y) |
| Inputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
| Outputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
Compiled 100 to 18 computations (82% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 5 | 3 | 8 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 5 | 4 | 9 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ▶ | 29.3% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
| ▶ | 7.9% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ▶ | 7.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
Compiled 54 to 44 computations (18.5% saved)
| 1× | egg-herbie |
Found 10 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) y) | |
| cost-diff | 0 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| cost-diff | 0 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) y) | |
| cost-diff | 0 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) y) | |
| cost-diff | 0 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
z |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(literal 1 binary64) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
z |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(literal 1 binary64) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
Found 10 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 2.6478704457624755 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 0.00390625 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| accuracy | 58.94007760885544 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 0.00390625 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) | |
| accuracy | 59.42276510402546 | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 18.0ms | 256× | 0 | valid |
Compiled 162 to 26 computations (84% saved)
ival-mult: 6.0ms (69.9% of total)ival-sub: 3.0ms (34.9% 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 (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
x |
(+ x (* x (* z (- y 1)))) |
(* z (- 1 y)) |
(+ 1 (* z (- y 1))) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z))) |
| 0.0ms | z | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z))) |
| 0.0ms | x | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z))) |
| 0.0ms | x | @ | 0 | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z))) |
| 0.0ms | y | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
x |
(+ x (* x (* z (- y 1)))) |
(* z (- 1 y)) |
(+ 1 (* z (- y 1))) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(* x (- 1 z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(+ (* x (* y z)) (* x (- 1 z))) |
(-.f64 #s(literal 1 binary64) y) |
z |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(+ z (* -1 (* y z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
1 |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(+ 1 (* -1 y)) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 (-.f64 #s(literal 1 binary64) y) z) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
Compiled 474 to 40 computations (91.6% saved)
8 alts after pruning (4 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 18 | 4 | 22 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 1 | 1 |
| Total | 18 | 8 | 26 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ✓ | 29.3% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
| ▶ | 9.8% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| ✓ | 7.9% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ▶ | 46.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
| ▶ | 3.4% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| ✓ | 7.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| ▶ | 2.3% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
Compiled 154 to 100 computations (35.1% saved)
| 1× | egg-herbie |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| cost-diff | 0 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| cost-diff | 0 | #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) | |
| cost-diff | 0 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) | |
| cost-diff | 0 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| cost-diff | 0 | (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) y) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) | |
| cost-diff | 0 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| cost-diff | 0 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| cost-diff | 0 | (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
z |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
#s(literal 1 binary64) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
x |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
z |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
#s(literal 1 binary64) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
z |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
x |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(literal 1 binary64) |
y |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 2.6478704457624755 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) | |
| accuracy | 61.84712387433347 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| accuracy | 2.6478704457624755 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 58.94007760885544 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) | |
| accuracy | 61.84712387433347 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 61.84712387433347 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 2.6478704457624755 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 59.42276510402546 | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) | |
| accuracy | 61.84712387433347 | #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
| 23.0ms | 256× | 0 | valid |
Compiled 476 to 30 computations (93.7% saved)
ival-sub: 3.0ms (49.5% of total)ival-mult: 3.0ms (49.5% 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 (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
x |
(+ x (* x (* z (- y 1)))) |
(* z (- 1 y)) |
(+ 1 (* z (- y 1))) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z))) |
| 1.0ms | z | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z))) |
| 1.0ms | x | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z))) |
| 0.0ms | y | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z))) |
| 0.0ms | x | @ | 0 | ((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
x |
(+ x (* x (* z (- y 1)))) |
(* z (- 1 y)) |
(+ 1 (* z (- y 1))) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(* x (- 1 z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
(+ (* x (* y z)) (* x (- 1 z))) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
z |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(+ z (* -1 (* y z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
1 |
(-.f64 #s(literal 1 binary64) y) |
(+ 1 (* -1 y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(- 1 z) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(- (+ 1 (* y z)) z) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(* x (* y z)) |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z) |
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
Compiled 1 103 to 50 computations (95.5% saved)
10 alts after pruning (2 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 2 | 37 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 4 | 4 |
| Total | 35 | 10 | 45 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ✓ | 29.3% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
| ✓ | 9.8% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| ✓ | 7.9% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ✓ | 46.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
| ▶ | 7.1% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| ▶ | 3.3% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
| ✓ | 3.4% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| ✓ | 7.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| ✓ | 2.3% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
Compiled 216 to 129 computations (40.3% saved)
| 1× | egg-herbie |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| cost-diff | 0 | #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) | |
| cost-diff | 0 | #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) | |
| cost-diff | 0 | (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) | |
| cost-diff | 0 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
#s(literal 1 binary64) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(literal 1 binary64) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
#s(literal 1 binary64) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(literal 1 binary64) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
x |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
(-.f64 #s(literal 1 binary64) y) |
y |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 2.6478704457624755 | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) | |
| accuracy | 46.97890824186685 | #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) | |
| accuracy | 58.94007760885544 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) | |
| accuracy | 59.42276510402546 | #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) | |
| accuracy | 0.0 | (-.f64 #s(literal 1 binary64) y) | |
| accuracy | 58.94007760885544 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) | |
| accuracy | 59.42276510402546 | #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) | |
| accuracy | 61.84712387433347 | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| 18.0ms | 256× | 0 | valid |
Compiled 270 to 29 computations (89.3% saved)
ival-sub: 3.0ms (49.2% of total)ival-mult: 3.0ms (49.2% 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 (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
x |
(+ x (* x (* z (- y 1)))) |
(+ 1 (* z (- y 1))) |
(* z (- 1 y)) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z))) |
| 1.0ms | z | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z))) |
| 1.0ms | x | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z))) |
| 0.0ms | y | @ | -inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z))) |
| 0.0ms | x | @ | inf | ((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
(* x (- 1 z)) |
(+ (* x (* y z)) (* x (- 1 z))) |
(- 1 z) |
(- (+ 1 (* y z)) z) |
z |
(+ z (* -1 (* y z))) |
1 |
(+ 1 (* -1 y)) |
(* x (* y z)) |
(* y (+ (* x z) (/ (* x (- 1 z)) y))) |
(* y z) |
(* y (- (/ 1 y) (+ (* -1 z) (/ z y)))) |
(* -1 (* y z)) |
(* y (+ (* -1 z) (/ z y))) |
(* -1 y) |
(* y (- (/ 1 y) 1)) |
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y))))) |
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z))) |
(* -1 (* y (+ z (* -1 (/ z y))))) |
(* -1 (* y (- 1 (/ 1 y)))) |
x |
(+ x (* x (* z (- y 1)))) |
(+ 1 (* z (- y 1))) |
(* z (- 1 y)) |
(* x (* z (- y 1))) |
(* z (+ (* x (- y 1)) (/ x z))) |
(* z (- y 1)) |
(* z (- (+ y (/ 1 z)) 1)) |
(* -1 (* x (* z (- 1 y)))) |
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y))))) |
(* -1 (* z (- 1 y))) |
(* z (+ (* -1 (- 1 y)) (/ 1 z))) |
| Outputs |
|---|
(* x (- 1 (* z (- 1 y)))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(* x (- 1 z)) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
(+ (* x (* y z)) (* x (- 1 z))) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
(- 1 z) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
(- (+ 1 (* y z)) z) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
z |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
(+ z (* -1 (* y z))) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
1 |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(+ 1 (* -1 y)) |
(-.f64 #s(literal 1 binary64) y) |
(* x (* y z)) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))) |
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
(-.f64 #s(literal 1 binary64) y) |
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)) |
Compiled 748 to 52 computations (93% saved)
11 alts after pruning (1 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 21 | 1 | 22 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 8 | 8 |
| Total | 21 | 11 | 32 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.9% | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ✓ | 29.3% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
| ✓ | 9.8% | (*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| ✓ | 7.9% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| ✓ | 46.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
| 19.8% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) | |
| ✓ | 7.1% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| ✓ | 3.3% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
| ✓ | 3.4% | #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| ✓ | 7.2% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| ✓ | 2.3% | #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
Compiled 510 to 180 computations (64.7% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| Outputs |
|---|
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
7 calls:
| 10.0ms | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 9.0ms | x |
| 4.0ms | y |
| 4.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 4.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.9% | 1 | x |
| 95.9% | 1 | y |
| 95.9% | 1 | z |
| 98.4% | 2 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 98.9% | 2 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 98.9% | 2 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 95.9% | 1 | (-.f64 #s(literal 1 binary64) y) |
Compiled 27 to 35 computations (-29.6% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) |
7 calls:
| 5.0ms | z |
| 4.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 4.0ms | y |
| 4.0ms | x |
| 3.0ms | (-.f64 #s(literal 1 binary64) y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 49.4% | 3 | x |
| 55.2% | 3 | y |
| 65.4% | 3 | z |
| 55.2% | 3 | (-.f64 #s(literal 1 binary64) y) |
| 58.1% | 3 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 69.7% | 3 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 69.7% | 3 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
Compiled 27 to 35 computations (-29.6% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
7 calls:
| 6.0ms | z |
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 3.0ms | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 29.3% | 1 | x |
| 33.1% | 3 | y |
| 33.1% | 3 | (-.f64 #s(literal 1 binary64) y) |
| 31.7% | 2 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 35.3% | 3 | z |
| 36.6% | 4 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 36.6% | 4 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
Compiled 27 to 35 computations (-29.6% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
| Outputs |
|---|
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))) |
1 calls:
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.6% | 2 | z |
Compiled 1 to 3 computations (-200% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
| Outputs |
|---|
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
3 calls:
| 2.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 2.0ms | z |
| 2.0ms | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 31.0% | 2 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 31.0% | 2 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 31.7% | 2 | z |
Compiled 13 to 16 computations (-23.1% saved)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
7 calls:
| 5.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 2.0ms | y |
| 2.0ms | x |
| 2.0ms | z |
| 2.0ms | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 7.2% | 1 | x |
| 7.2% | 1 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 7.2% | 1 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 7.2% | 1 | y |
| 7.2% | 1 | (-.f64 #s(literal 1 binary64) y) |
| 7.2% | 1 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 7.2% | 1 | z |
Compiled 27 to 35 computations (-29.6% saved)
Total -1.2b remaining (-2%)
Threshold costs -1.2b (-2%)
| Inputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))) |
| Outputs |
|---|
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
7 calls:
| 2.0ms | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 1.0ms | y |
| 1.0ms | x |
| 1.0ms | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.4% | 1 | y |
| 3.4% | 1 | x |
| 3.4% | 1 | (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
| 3.4% | 1 | (*.f64 (-.f64 #s(literal 1 binary64) y) z) |
| 3.4% | 1 | (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
| 3.4% | 1 | z |
| 3.4% | 1 | (-.f64 #s(literal 1 binary64) y) |
Compiled 27 to 35 computations (-29.6% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.0046017175847327e+261 | 1.338266932925813e+274 |
Compiled 12 to 15 computations (-25% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.404827322053025e+21 | 9.65317541766283e+26 |
| 0.0ms | -3276.3275072815795 | -628.8435415444925 |
Compiled 12 to 14 computations (-16.7% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 8.007024975500313e-14 | 4.18758788258642e-9 |
| 11.0ms | -4.379517023790093e+228 | -1.7262513163502988e+226 |
| 12.0ms | 240× | 0 | valid |
Compiled 574 to 420 computations (26.8% saved)
ival-mult: 4.0ms (57.8% of total)ival-sub: 2.0ms (28.9% 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 | 8.007024975500313e-14 | 4.18758788258642e-9 |
Compiled 364 to 238 computations (34.6% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 0.45497300377454714 | 1.6338895847471646 |
| 4.0ms | 80× | 0 | valid |
Compiled 152 to 139 computations (8.6% saved)
ival-sub: 1.0ms (50.4% of total)ival-mult: 1.0ms (50.4% 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 |
|---|
(if (<=.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) z) #s(literal 3999999999999999715095362081467030147506957283246306448927125922805880381418109976030985365764553105769897559078190254101729172466004490268714857437524891108419417842983218717518577988172833069534526588669511447794183559899235847479774284307101712435693957939200 binary64)) (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))) |
(if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal -2000 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) (if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal 2000000000000000000000 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))))) |
(if (<=.f64 z #s(literal -249999999999999981127280380618811716294668050071597603343410047731917694218676725250216868646074079448025526803849324428504314495201949473268410963248002115317291743547418889035478194203043299371784807625853355592549187287252992 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) (if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) |
(if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))) |
(if (<=.f64 z #s(literal 1 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| Outputs |
|---|
(if (<=.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) z) #s(literal 3999999999999999715095362081467030147506957283246306448927125922805880381418109976030985365764553105769897559078190254101729172466004490268714857437524891108419417842983218717518577988172833069534526588669511447794183559899235847479774284307101712435693957939200 binary64)) (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))) |
(if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal -2000 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))) (if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal 2000000000000000000000 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))))) |
(if (<=.f64 z #s(literal -249999999999999981127280380618811716294668050071597603343410047731917694218676725250216868646074079448025526803849324428504314495201949473268410963248002115317291743547418889035478194203043299371784807625853355592549187287252992 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) (if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))))) |
(if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))) |
(if (<=.f64 z #s(literal 1 binary64)) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))) #s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) |
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) |
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)) |
| 1× | fuel |
Compiled 320 to 42 computations (86.9% saved)
Compiled 768 to 146 computations (81% saved)
Loading profile data...