
Time bar (total: 1.4s)
| 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 |
| 37.5% | 37.4% | 62.3% | 0.2% | 0% | 0% | 0% | 6 |
| 37.5% | 37.4% | 62.3% | 0.2% | 0% | 0% | 0% | 7 |
| 37.5% | 37.4% | 62.3% | 0.2% | 0% | 0% | 0% | 8 |
| 37.5% | 37.4% | 62.3% | 0.2% | 0% | 0% | 0% | 9 |
| 43.8% | 43.6% | 56.1% | 0.2% | 0% | 0% | 0% | 10 |
| 51.6% | 51.4% | 48.3% | 0.2% | 0% | 0% | 0% | 11 |
| 51.6% | 51.4% | 48.3% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 13 to 12 computations (7.7% saved)
| 511.0ms | 8 256× | 0 | valid |
ival-mult: 133.0ms (48.7% of total)ival-sub: 82.0ms (30% of total)ival-div: 49.0ms (17.9% of total)ival-true: 6.0ms (2.2% of total)ival-assert: 3.0ms (1.1% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 33 | 0 | - | 0 | - | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| 0 | 0 | - | 0 | - | (-.f64 t (*.f64 a z)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | t |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (*.f64 a z) |
| 0 | 0 | - | 0 | - | (-.f64 x (*.f64 y z)) |
| 0 | 0 | - | 0 | - | (*.f64 y z) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f64 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) | n/o | 13 | 0 |
| ↳ | (*.f64 a z) | overflow | 29 | |
| ↳ | (-.f64 t (*.f64 a z)) | overflow | 29 | |
/.f64 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) | o/n | 12 | 0 |
| ↳ | (*.f64 y z) | overflow | 29 | |
| ↳ | (-.f64 x (*.f64 y z)) | overflow | 29 | |
/.f64 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) | o/o | 8 | 0 |
| ↳ | (*.f64 y z) | overflow | 29 | |
| ↳ | (-.f64 x (*.f64 y z)) | overflow | 29 | |
| ↳ | (*.f64 a z) | overflow | 29 | |
| ↳ | (-.f64 t (*.f64 a z)) | overflow | 29 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 33 | 0 |
| - | 0 | 223 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 33 | 0 | 0 |
| - | 0 | 0 | 223 |
| number | freq |
|---|---|
| 0 | 223 |
| 1 | 33 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 36.0ms | 512× | 0 | valid |
Compiled 111 to 44 computations (60.4% saved)
ival-mult: 10.0ms (56.1% of total)ival-sub: 5.0ms (28% of total)ival-div: 3.0ms (16.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| Outputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
Compiled 11 to 10 computations (9.1% saved)
Compiled 0 to 5 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 87.5% | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
Compiled 11 to 10 computations (9.1% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (-.f64 t (*.f64 a z)) | |
| cost-diff | 0 | (*.f64 y z) | |
| cost-diff | 0 | (-.f64 x (*.f64 y z)) | |
| cost-diff | 0 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(-.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
| Outputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(-.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 y z) | |
| accuracy | 0.0 | (*.f64 a z) | |
| accuracy | 0.00390625 | (-.f64 x (*.f64 y z)) | |
| accuracy | 8.001356009136826 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| 19.0ms | 256× | 0 | valid |
Compiled 66 to 22 computations (66.7% saved)
ival-mult: 6.0ms (60.9% of total)ival-sub: 2.0ms (20.3% of total)ival-div: 2.0ms (20.3% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
t |
(+ t (* -1 (* a z))) |
(* a z) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a | @ | 0 | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (- t (* a z)) (* a z)) |
| 2.0ms | x | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (- t (* a z)) (* a z)) |
| 2.0ms | z | @ | 0 | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (- t (* a z)) (* a z)) |
| 2.0ms | z | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (- t (* a z)) (* a z)) |
| 1.0ms | z | @ | inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (- t (* a z)) (* a z)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
t |
(+ t (* -1 (* a z))) |
(* a z) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(-.f64 x (*.f64 y z)) |
(* -1 (* y z)) |
(*.f64 y z) |
(- x (* y z)) |
(-.f64 t (*.f64 a z)) |
(/ x (- t (* a z))) |
(*.f64 a z) |
| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
| Outputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
Compiled 142 to 22 computations (84.5% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 6 | 4 | 10 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 6 | 5 | 11 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 87.5% | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ▶ | 3.4% | (/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
| ▶ | 10.0% | (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ▶ | 5.5% | #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
| ▶ | 3.3% | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
Compiled 75 to 58 computations (22.7% saved)
| 1× | egg-herbie |
Found 13 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 a z) | |
| cost-diff | 0 | (-.f64 t (*.f64 a z)) | |
| cost-diff | 0 | #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) | |
| cost-diff | 0 | (/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) | |
| cost-diff | 0 | (-.f64 t (*.f64 a z)) | |
| cost-diff | 0 | (*.f64 y z) | |
| cost-diff | 0 | #s(approx (- x (* y z)) (*.f64 y z)) | |
| cost-diff | 0 | (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) | |
| cost-diff | 0 | (*.f64 y z) | |
| cost-diff | 0 | (-.f64 x (*.f64 y z)) | |
| cost-diff | 0 | #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) | |
| cost-diff | 0 | (*.f64 a z) | |
| cost-diff | 0 | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(*.f64 a z) |
a |
z |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(-.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (*.f64 y z)) |
(*.f64 y z) |
y |
z |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
z |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(*.f64 a z) |
a |
z |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(-.f64 x (*.f64 y z)) |
x |
(*.f64 y z) |
y |
z |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (*.f64 y z)) |
(*.f64 y z) |
y |
z |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
z |
Found 13 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (-.f64 t (*.f64 a z)) | |
| accuracy | 0.0 | (*.f64 a z) | |
| accuracy | 8.001356009136826 | (/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) | |
| accuracy | 61.50407196366259 | #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) | |
| accuracy | 0.0 | (*.f64 y z) | |
| accuracy | 0.0 | (*.f64 a z) | |
| accuracy | 8.001356009136826 | (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) | |
| accuracy | 62.61524786934095 | #s(approx (- x (* y z)) (*.f64 y z)) | |
| accuracy | 0.0 | (*.f64 y z) | |
| accuracy | 0.00390625 | (-.f64 x (*.f64 y z)) | |
| accuracy | 60.48851964951921 | #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) | |
| accuracy | 0.0 | (*.f64 a z) | |
| accuracy | 61.889267918881984 | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| 22.0ms | 256× | 0 | valid |
Compiled 224 to 32 computations (85.7% saved)
ival-mult: 4.0ms (53% of total)ival-sub: 2.0ms (26.5% of total)ival-div: 2.0ms (26.5% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (*.f64 y z)) |
(-.f64 t (*.f64 a z)) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(* a z) |
t |
(+ t (* -1 (* a z))) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (* a z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (/ (- x (* y z)) (- t (* a z))) (- x (* y z))) |
| 1.0ms | y | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (* a z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (/ (- x (* y z)) (- t (* a z))) (- x (* y z))) |
| 1.0ms | z | @ | inf | ((/ (- x (* y z)) (- t (* a z))) (* a z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (/ (- x (* y z)) (- t (* a z))) (- x (* y z))) |
| 1.0ms | x | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (* a z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (/ (- x (* y z)) (- t (* a z))) (- x (* y z))) |
| 1.0ms | a | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (* a z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (* y z) (/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (/ (- x (* y z)) (- t (* a z))) (- x (* y z))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(* a z) |
t |
(+ t (* -1 (* a z))) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(*.f64 a z) |
(* -1 (* y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(- x (* y z)) |
(-.f64 x (*.f64 y z)) |
(/ x (- t (* a z))) |
(*.f64 y z) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
x |
#s(approx (- x (* y z)) (*.f64 y z)) |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(-.f64 t (*.f64 a z)) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (*.f64 y z)) |
(-.f64 t (*.f64 a z)) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(-.f64 x (*.f64 y z)) |
(*.f64 y z) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (*.f64 y z)) |
(-.f64 t (*.f64 a z)) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
Compiled 476 to 33 computations (93.1% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 22 | 2 | 24 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 1 | 1 |
| Total | 22 | 7 | 29 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 87.5% | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ✓ | 3.4% | (/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
| ✓ | 10.0% | (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ✓ | 5.5% | #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
| ▶ | 5.6% | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
| ✓ | 3.3% | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| ▶ | 2.8% | #s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
Compiled 113 to 84 computations (25.7% saved)
| 1× | egg-herbie |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 y z) | |
| cost-diff | 0 | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) | |
| cost-diff | 0 | (*.f64 a z) | |
| cost-diff | 0 | (-.f64 t (*.f64 a z)) | |
| cost-diff | 0 | #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) | |
| cost-diff | 0 | #s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
z |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(*.f64 y z) |
y |
z |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
t |
(*.f64 a z) |
a |
z |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(*.f64 y z) |
y |
z |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 y z) | |
| accuracy | 60.42147804675443 | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) | |
| accuracy | 0.0 | (-.f64 t (*.f64 a z)) | |
| accuracy | 0.0 | (*.f64 a z) | |
| accuracy | 60.48851964951921 | #s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) | |
| accuracy | 61.50407196366259 | #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
| 22.0ms | 256× | 0 | valid |
Compiled 110 to 28 computations (74.5% saved)
ival-sub: 7.0ms (57.2% of total)ival-mult: 4.0ms (32.7% of total)ival-div: 2.0ms (16.3% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(*.f64 y z) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
t |
(+ t (* -1 (* a z))) |
(* a z) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (* a z) (/ (- x (* y z)) (- t (* a z))) (* y z)) |
| 1.0ms | y | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (* a z) (/ (- x (* y z)) (- t (* a z))) (* y z)) |
| 0.0ms | z | @ | inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (* a z) (/ (- x (* y z)) (- t (* a z))) (* y z)) |
| 0.0ms | x | @ | -inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (* a z) (/ (- x (* y z)) (- t (* a z))) (* y z)) |
| 0.0ms | y | @ | inf | ((/ (- x (* y z)) (- t (* a z))) (- x (* y z)) (- t (* a z)) (* a z) (/ (- x (* y z)) (- t (* a z))) (* y z)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
(* -1 (* y z)) |
(- x (* y z)) |
(/ x (- t (* a z))) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
x |
(* x (+ 1 (* -1 (/ (* y z) x)))) |
(* -1 (* x (- (/ (* y z) (* x (- t (* a z)))) (/ 1 (- t (* a z)))))) |
(* -1 (* x (- (/ (* y z) x) 1))) |
(+ x (* -1 (* y z))) |
(* y z) |
(* y (+ (* -1 (/ z (- t (* a z)))) (/ x (* y (- t (* a z)))))) |
(* y (- (/ x y) z)) |
(* -1 (* y (+ (* -1 (/ x (* y (- t (* a z))))) (/ z (- t (* a z)))))) |
(* -1 (* y (- (* -1 (/ x y)) (* -1 z)))) |
(/ x t) |
(+ (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (/ (* a (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) t)) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
(+ (* z (- (+ (* -1 (/ y t)) (* z (- (/ (* (pow a 2) (* z (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2)))))) (pow t 2)) (* -1 (/ (* a (- (* -1 (/ y t)) (* -1 (/ (* a x) (pow t 2))))) t))))) (* -1 (/ (* a x) (pow t 2))))) (/ x t)) |
t |
(+ t (* -1 (* a z))) |
(* a z) |
(/ y a) |
(- (+ (* -1 (/ x (* a z))) (/ y a)) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2))))) (* -1 (/ (* t y) (* (pow a 2) z)))) |
(- (+ (* -1 (/ x (* a z))) (+ (/ y a) (/ (* (pow t 2) (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* (pow a 2) (pow z 3))))) (+ (* -1 (/ (* t y) (* (pow a 2) z))) (* -1 (/ (* t (- (* -1 (/ x a)) (* -1 (/ (* t y) (pow a 2))))) (* a (pow z 2)))))) |
(* z (- (/ x z) y)) |
(* -1 (* a z)) |
(* z (- (/ t z) a)) |
(+ (* -1 (/ (- (/ x a) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (/ x a) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) (* a z))) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(+ (* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- (/ x a) (/ (* t y) (pow a 2)))) (* (pow a 2) z))) (/ (* t (- (/ x a) (/ (* t y) (pow a 2)))) a)) z)) (/ x a)) (/ (* t y) (pow a 2))) z)) (/ y a)) |
(* -1 (* z (- (* -1 (/ x z)) (* -1 y)))) |
(* -1 (* z (- (* -1 (/ t z)) (* -1 a)))) |
(* -1 (/ (- x (* y z)) (* a z))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (/ y (* (pow a 2) z)) (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* a z))) (/ x (* (pow a 2) (pow z 2)))))) |
(+ (* -1 (/ (- x (* y z)) (* a z))) (* t (- (+ (* t (- (/ (* t (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2))))) (* (pow a 2) (pow z 2))) (* -1 (/ (- (/ y (* (pow a 2) z)) (/ x (* (pow a 2) (pow z 2)))) (* a z))))) (/ y (* (pow a 2) z))) (/ x (* (pow a 2) (pow z 2)))))) |
(- t (* a z)) |
(/ (- x (* y z)) t) |
(/ (- (+ x (/ (* a (* z (- x (* y z)))) t)) (* y z)) t) |
(/ (- (+ x (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (* y z))) t) |
(/ (- (+ x (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) (pow t 3))) (+ (* -1 (/ (* a (* z (- x (* y z)))) t)) (+ (* -1 (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) (pow t 2))) (* y z)))) t) |
(* t (+ 1 (* -1 (/ (* a z) t)))) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (* a (* z (- x (* y z)))) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* a (* z (- x (* y z)))) (/ (* (pow a 2) (* (pow z 2) (- x (* y z)))) t)) t))) t)) |
(* -1 (/ (+ (* -1 (- x (* y z))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (* (pow a 2) (* (pow z 2) (- x (* y z))))) (* -1 (/ (* (pow a 3) (* (pow z 3) (- x (* y z)))) t))) t)) (* a (* z (- x (* y z))))) t))) t)) |
(* -1 (* t (- (/ (* a z) t) 1))) |
(- (+ (/ x t) (/ (* a (* z (- x (* y z)))) (pow t 2))) (/ (* y z) t)) |
(- (+ (* a (- (/ (* a (* (pow z 2) (- x (* y z)))) (pow t 3)) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(- (+ (* a (- (* a (- (/ (* a (* (pow z 3) (- x (* y z)))) (pow t 4)) (* -1 (/ (* (pow z 2) (- x (* y z))) (pow t 3))))) (* -1 (/ (* z (- x (* y z))) (pow t 2))))) (/ x t)) (/ (* y z) t)) |
(/ (+ (* -1 (/ (* t (- x (* y z))) (* a (pow z 2)))) (* -1 (/ (- x (* y z)) z))) a) |
(/ (- (+ (* -1 (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3)))) (* -1 (/ (- x (* y z)) z))) (/ (* t (- x (* y z))) (* a (pow z 2)))) a) |
(/ (- (+ (* -1 (/ (* (pow t 3) (- x (* y z))) (* (pow a 3) (pow z 4)))) (* -1 (/ (- x (* y z)) z))) (+ (/ (* t (- x (* y z))) (* a (pow z 2))) (/ (* (pow t 2) (- x (* y z))) (* (pow a 2) (pow z 3))))) a) |
(* a (- (/ t a) z)) |
(* -1 (/ (- (+ (/ x z) (/ (* t (- x (* y z))) (* a (pow z 2)))) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (* (pow t 2) (- x (* y z))) (* a (pow z 3)))) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (/ (- (+ (* -1 (/ (- (* -1 (/ (- (/ (* (pow t 3) (- x (* y z))) (* a (pow z 4))) (* -1 (/ (* (pow t 2) (- x (* y z))) (pow z 3)))) a)) (/ (* t (- x (* y z))) (pow z 2))) a)) (/ x z)) y) a)) |
(* -1 (* a (- (* -1 (/ t a)) (* -1 z)))) |
| Outputs |
|---|
(* -1 (/ (* y z) (- t (* a z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
(+ (* -1 (/ (* y z) (- t (* a z)))) (/ x (- t (* a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(* -1 (* y z)) |
(-.f64 t (*.f64 a z)) |
(- x (* y z)) |
(*.f64 a z) |
(/ x (- t (* a z))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(* x (+ (* -1 (/ (* y z) (* x (- t (* a z))))) (/ 1 (- t (* a z))))) |
(*.f64 y z) |
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(*.f64 y z) |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) |
(-.f64 t (*.f64 a z)) |
(*.f64 a z) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
(*.f64 y z) |
Compiled 205 to 20 computations (90.2% saved)
7 alts after pruning (0 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 0 | 9 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 5 | 5 |
| Total | 9 | 7 | 16 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 87.5% | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ✓ | 3.4% | (/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
| ✓ | 10.0% | (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| ✓ | 5.5% | #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
| ✓ | 5.6% | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
| ✓ | 3.3% | #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| ✓ | 2.8% | #s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
Compiled 226 to 107 computations (52.7% saved)
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| Outputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
6 calls:
| 3.0ms | z |
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | a |
| 3.0ms | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 87.5% | 1 | x |
| 87.5% | 1 | y |
| 87.5% | 1 | z |
| 87.5% | 1 | t |
| 87.5% | 1 | a |
| 87.5% | 1 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
Compiled 16 to 35 computations (-118.8% saved)
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(/.f64 #s(approx (- x (* y z)) (-.f64 t (*.f64 a z))) (-.f64 t (*.f64 a z))) |
| Outputs |
|---|
(/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
6 calls:
| 5.0ms | t |
| 3.0ms | z |
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 10.0% | 1 | a |
| 10.0% | 1 | x |
| 11.7% | 2 | y |
| 10.0% | 1 | z |
| 10.0% | 1 | t |
| 12.2% | 2 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
Compiled 16 to 35 computations (-118.8% saved)
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z))) |
6 calls:
| 4.0ms | x |
| 2.0ms | a |
| 2.0ms | t |
| 2.0ms | z |
| 2.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.6% | 1 | x |
| 7.8% | 2 | t |
| 7.6% | 2 | a |
| 5.6% | 1 | z |
| 5.6% | 1 | y |
| 5.6% | 1 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
Compiled 16 to 35 computations (-118.8% saved)
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) #s(approx (- x (* y z)) (-.f64 t (*.f64 a z)))) |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
3 calls:
| 2.0ms | t |
| 2.0ms | a |
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.6% | 1 | z |
| 5.6% | 1 | a |
| 5.6% | 1 | t |
Compiled 3 to 15 computations (-400% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| Outputs |
|---|
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
6 calls:
| 1.0ms | t |
| 1.0ms | z |
| 1.0ms | x |
| 1.0ms | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| 1.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.3% | 1 | y |
| 3.3% | 1 | t |
| 3.3% | 1 | (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
| 3.3% | 1 | x |
| 3.3% | 1 | a |
| 3.3% | 1 | z |
Compiled 16 to 35 computations (-118.8% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.448102370935954e-125 | 2.492087383012223e-124 |
Compiled 14 to 18 computations (-28.6% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 18.0ms | -1.0543320887541935e-126 | -2.68334662125982e-130 |
| 14.0ms | 128× | 0 | valid |
Compiled 270 to 234 computations (13.3% saved)
ival-mult: 8.0ms (78.1% of total)ival-sub: 1.0ms (9.8% of total)ival-div: 1.0ms (9.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(if (<=.f64 (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(literal 7621456421669903/190536410541747572716161940294993060653600960856016305594430966774009505543198585212421026798308836130360530463953040948208494609331560382464 binary64)) (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))) |
(if (<=.f64 t #s(literal -7316598164803107/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568 binary64)) #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| Outputs |
|---|
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) |
(if (<=.f64 (/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(literal 7621456421669903/190536410541747572716161940294993060653600960856016305594430966774009505543198585212421026798308836130360530463953040948208494609331560382464 binary64)) (/.f64 #s(approx (- x (* y z)) (*.f64 y z)) (-.f64 t (*.f64 a z))) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))) |
(if (<=.f64 t #s(literal -7316598164803107/97554642197374757230674913431036447054643691958280348464348654988292866838117675628759565720734124098744591597543956965482749239977758915821568 binary64)) #s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) #s(approx (/ (- x (* y z)) (- t (* a z))) (-.f64 x (*.f64 y z)))) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 y z)) |
#s(approx (/ (- x (* y z)) (- t (* a z))) (*.f64 a z)) |
| 1× | done |
Compiled 123 to 26 computations (78.9% saved)
Compiled 370 to 118 computations (68.1% saved)
Loading profile data...