
Time bar (total: 1.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 100% | 49.9% | 0% | 0.1% | 0% | 49.9% | 0% | 3 |
Compiled 11 to 10 computations (9.1% saved)
| 571.0ms | 8 256× | 0 | valid |
ival-log: 128.0ms (33.7% of total)ival-mult: 95.0ms (25% of total)ival-exp: 70.0ms (18.4% of total)ival-add: 39.0ms (10.3% of total)ival-sub: 38.0ms (10% of total)ival-true: 7.0ms (1.8% of total)ival-assert: 3.0ms (0.8% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 0 | 0 | - | 0 | - | (*.f64 y (log.f64 y)) |
| 0 | 0 | - | 0 | - | (log.f64 y) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (+.f64 x (*.f64 y (log.f64 y))) |
| 0 | 0 | - | 0 | - | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | x |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 256 |
| number | freq |
|---|---|
| 0 | 256 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 0 | 0 | 1 |
| 41.0ms | 512× | 0 | valid |
Compiled 109 to 36 computations (67% saved)
ival-log: 7.0ms (35.1% of total)ival-exp: 4.0ms (20.1% of total)ival-mult: 4.0ms (20.1% of total)ival-sub: 2.0ms (10% of total)ival-add: 2.0ms (10% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| Outputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
Compiled 9 to 8 computations (11.1% saved)
Compiled 0 to 3 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 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 y (log.f64 y)) | |
| cost-diff | 0 | (+.f64 x (*.f64 y (log.f64 y))) | |
| cost-diff | 0 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) | |
| cost-diff | 0 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| Inputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
| Outputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.0 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) | |
| accuracy | 0.0078125 | (+.f64 x (*.f64 y (log.f64 y))) | |
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) |
| 20.0ms | 256× | 0 | valid |
Compiled 66 to 18 computations (72.7% saved)
ival-log: 3.0ms (30.6% of total)ival-exp: 2.0ms (20.4% of total)ival-mult: 2.0ms (20.4% of total)ival-sub: 1.0ms (10.2% of total)ival-add: 1.0ms (10.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(- x z) |
(log y) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* -1 (log (/ 1 y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 38.0ms | y | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 12.0ms | y | @ | -inf | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 8.0ms | y | @ | inf | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 7.0ms | x | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 3.0ms | z | @ | -inf | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 1× | egg-herbie |
| Inputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(- x z) |
(log y) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* -1 (log (/ 1 y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+.f64 x (*.f64 y (log.f64 y))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(*.f64 y (log.f64 y)) |
(- (* y (log y)) z) |
(log.f64 y) |
| Inputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
| Outputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
Compiled 124 to 19 computations (84.7% 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 |
|---|---|---|
| ✓ | 100.0% | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ▶ | 4.6% | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
| ▶ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ▶ | 5.1% | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
| ▶ | 4.8% | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
Compiled 69 to 54 computations (21.7% saved)
| 1× | egg-herbie |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (log.f64 y) | |
| cost-diff | 0 | #s(approx (- (+ x (* y (log y))) z) (log.f64 y)) | |
| cost-diff | 0 | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) | |
| cost-diff | 0 | (*.f64 y (log.f64 y)) | |
| cost-diff | 0 | (+.f64 x (*.f64 y (log.f64 y))) | |
| cost-diff | 0 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) | |
| cost-diff | 0 | (log.f64 y) | |
| cost-diff | 0 | (*.f64 y (log.f64 y)) | |
| cost-diff | 0 | (+.f64 x (*.f64 y (log.f64 y))) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) | |
| cost-diff | 0 | (log.f64 y) | |
| cost-diff | 0 | (*.f64 y (log.f64 y)) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
(log.f64 y) |
y |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
(log.f64 y) |
y |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.0 | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) | |
| accuracy | 61.784777721944536 | #s(approx (- (+ x (* y (log y))) z) (log.f64 y)) | |
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.0078125 | (+.f64 x (*.f64 y (log.f64 y))) | |
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) | |
| accuracy | 60.519213243198024 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) | |
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.0078125 | (+.f64 x (*.f64 y (log.f64 y))) | |
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) | |
| accuracy | 60.763665503950925 | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) | |
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) | |
| accuracy | 60.95440448879323 | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| 23.0ms | 256× | 0 | valid |
Compiled 211 to 27 computations (87.2% saved)
ival-sub: 4.0ms (32.5% of total)ival-log: 3.0ms (24.3% of total)ival-exp: 2.0ms (16.2% of total)ival-mult: 2.0ms (16.2% of total)ival-add: 1.0ms (8.1% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(+.f64 x (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(* y (log y)) |
(+ x (* y (log y))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (+ 1 (/ (* y (log y)) x))) |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(log y) |
(- x z) |
(* -1 (* y (log (/ 1 y)))) |
(* -1 (log (/ 1 y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | y | @ | inf | ((exp (- (+ x (* y (log y))) z)) (* y (log y)) (log y) (exp (- (+ x (* y (log y))) z)) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z)) |
| 9.0ms | y | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (* y (log y)) (log y) (exp (- (+ x (* y (log y))) z)) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z)) |
| 8.0ms | x | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (* y (log y)) (log y) (exp (- (+ x (* y (log y))) z)) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z)) |
| 7.0ms | y | @ | -inf | ((exp (- (+ x (* y (log y))) z)) (* y (log y)) (log y) (exp (- (+ x (* y (log y))) z)) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z)) |
| 2.0ms | z | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (* y (log y)) (log y) (exp (- (+ x (* y (log y))) z)) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z)) |
| 1× | egg-herbie |
| Inputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(* y (log y)) |
(+ x (* y (log y))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (+ 1 (/ (* y (log y)) x))) |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(log y) |
(- x z) |
(* -1 (* y (log (/ 1 y)))) |
(* -1 (log (/ 1 y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(*.f64 y (log.f64 y)) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(log.f64 y) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(* y (log y)) |
(+.f64 x (*.f64 y (log.f64 y))) |
(+ x (* y (log y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(- (* y (log y)) z) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(- (+ x (* y (log y))) z) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
(exp (- (+ x (* y (log y))) z)) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(+.f64 x (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
(+.f64 x (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
#s(approx (- (+ x (* y (log y))) z) (log.f64 y)) |
Compiled 493 to 33 computations (93.3% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 23 | 2 | 25 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 4 | 4 |
| Done | 0 | 1 | 1 |
| Total | 23 | 7 | 30 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ✓ | 4.6% | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
| ✓ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ▶ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
| ✓ | 5.1% | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
| ✓ | 4.8% | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| ▶ | 2.5% | #s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
Compiled 118 to 80 computations (32.2% saved)
| 1× | egg-herbie |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) | |
| cost-diff | 0 | #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) | |
| cost-diff | 0 | (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) | |
| cost-diff | 0 | (log.f64 y) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(log.f64 y) |
y |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(log.f64 y) |
y |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
(+.f64 x (*.f64 y (log.f64 y))) |
x |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) | |
| accuracy | 60.519213243198024 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) | |
| accuracy | 60.519213243198024 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) | |
| accuracy | 60.763665503950925 | #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) | |
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 62.41304697983933 | #s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
| 22.0ms | 256× | 0 | valid |
Compiled 214 to 27 computations (87.4% saved)
ival-sub: 4.0ms (30.5% of total)ival-log: 3.0ms (22.9% of total)ival-exp: 2.0ms (15.2% of total)ival-mult: 2.0ms (15.2% of total)ival-add: 1.0ms (7.6% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(*.f64 y (log.f64 y)) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(log y) |
(- x z) |
(* -1 (log (/ 1 y))) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | y | @ | -inf | ((exp (- (+ x (* y (log y))) z)) (log y) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (* y (log y))) |
| 8.0ms | y | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (log y) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (* y (log y))) |
| 6.0ms | y | @ | inf | ((exp (- (+ x (* y (log y))) z)) (log y) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (* y (log y))) |
| 2.0ms | x | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (log y) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (* y (log y))) |
| 2.0ms | z | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (log y) (exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (exp (- (+ x (* y (log y))) z)) (* y (log y))) |
| 1× | egg-herbie |
| Inputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(log y) |
(- x z) |
(* -1 (log (/ 1 y))) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(log.f64 y) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
(- (* y (log y)) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
(- (+ x (* y (log y))) z) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(* y (log y)) |
(*.f64 y (log.f64 y)) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(*.f64 y (log.f64 y)) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
(log.f64 y) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z) |
#s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
(*.f64 y (log.f64 y)) |
Compiled 419 to 26 computations (93.8% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 12 | 1 | 13 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 5 | 5 |
| Total | 12 | 8 | 20 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ✓ | 4.6% | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
| ✓ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ▶ | 4.9% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
| ✓ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
| ✓ | 5.1% | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
| ✓ | 4.8% | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| ✓ | 2.5% | #s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
Compiled 141 to 93 computations (34% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 y (log.f64 y)) | |
| cost-diff | 0 | #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) | |
| cost-diff | 0 | (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) | |
| cost-diff | 0 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
y |
(log.f64 y) |
z |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (log.f64 y) | |
| accuracy | 0.27734375 | (*.f64 y (log.f64 y)) | |
| accuracy | 35.093693571946694 | #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) | |
| accuracy | 60.519213243198024 | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
| 21.0ms | 256× | 0 | valid |
Compiled 88 to 23 computations (73.9% saved)
ival-mult: 5.0ms (37.4% of total)ival-log: 3.0ms (22.4% of total)ival-exp: 2.0ms (15% of total)ival-sub: 1.0ms (7.5% of total)ival-add: 1.0ms (7.5% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(- x z) |
(log y) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* -1 (log (/ 1 y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 11.0ms | y | @ | inf | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 8.0ms | y | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 7.0ms | y | @ | -inf | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 2.0ms | x | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 1.0ms | z | @ | 0 | ((exp (- (+ x (* y (log y))) z)) (- (+ x (* y (log y))) z) (+ x (* y (log y))) (* y (log y)) (log y)) |
| 1× | egg-herbie |
| Inputs |
|---|
(exp (- (* y (log y)) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(- (* y (log y)) z) |
(- (+ x (* y (log y))) z) |
(* y (log y)) |
(+ x (* y (log y))) |
(exp (- (+ x (* y (log y))) z)) |
x |
(* x (- (+ 1 (/ (* y (log y)) x)) (/ z x))) |
(* x (+ 1 (/ (* y (log y)) x))) |
(exp (- (* y (log y)) (+ z (* -1 x)))) |
(* -1 (* x (- (* -1 (/ (- (* y (log y)) z) x)) 1))) |
(* -1 (* x (- (* -1 (/ (* y (log y)) x)) 1))) |
(exp (- x z)) |
(+ (exp (- x z)) (* y (* (exp (- x z)) (log y)))) |
(+ (exp (- x z)) (* y (+ (* 1/2 (* y (* (exp (- x z)) (pow (log y) 2)))) (* (exp (- x z)) (log y))))) |
(+ (exp (- x z)) (* y (+ (* y (+ (* 1/6 (* y (* (exp (- x z)) (pow (log y) 3)))) (* 1/2 (* (exp (- x z)) (pow (log y) 2))))) (* (exp (- x z)) (log y))))) |
(- x z) |
(log y) |
(* -1 (* y (log (/ 1 y)))) |
(* y (- (+ (* -1 (log (/ 1 y))) (/ x y)) (/ z y))) |
(* y (+ (* -1 (log (/ 1 y))) (/ x y))) |
(* -1 (log (/ 1 y))) |
(* y (+ (log -1) (* -1 (log (/ -1 y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ (- x z) y))))) |
(* -1 (* y (+ (* -1 (+ (log -1) (* -1 (log (/ -1 y))))) (* -1 (/ x y))))) |
(+ (log -1) (* -1 (log (/ -1 y)))) |
(exp (+ x (* y (log y)))) |
(+ (exp (+ x (* y (log y)))) (* -1 (* z (exp (+ x (* y (log y))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* 1/2 (* z (exp (+ x (* y (log y))))))))) |
(+ (exp (+ x (* y (log y)))) (* z (+ (* -1 (exp (+ x (* y (log y))))) (* z (+ (* -1/6 (* z (exp (+ x (* y (log y)))))) (* 1/2 (exp (+ x (* y (log y)))))))))) |
(+ x (+ (* -1 z) (* y (log y)))) |
(* -1 z) |
(* z (- (+ (/ x z) (/ (* y (log y)) z)) 1)) |
(exp (+ x (+ (* -1 z) (* y (log y))))) |
(* -1 (* z (+ 1 (* -1 (/ (+ x (* y (log y))) z))))) |
| Outputs |
|---|
(exp (- (* y (log y)) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(+ (exp (- (* y (log y)) z)) (* x (exp (- (* y (log y)) z)))) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* 1/2 (* x (exp (- (* y (log y)) z))))))) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(+ (exp (- (* y (log y)) z)) (* x (+ (exp (- (* y (log y)) z)) (* x (+ (* 1/6 (* x (exp (- (* y (log y)) z)))) (* 1/2 (exp (- (* y (log y)) z)))))))) |
(*.f64 y (log.f64 y)) |
(- (* y (log y)) z) |
(log.f64 y) |
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
(-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z) |
#s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) |
(*.f64 y (log.f64 y)) |
(log.f64 y) |
Compiled 204 to 18 computations (91.2% saved)
8 alts after pruning (0 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 0 | 9 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 9 | 8 | 17 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ✓ | 4.6% | (exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
| ✓ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| ✓ | 4.9% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
| ✓ | 5.4% | #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
| ✓ | 5.1% | #s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
| ✓ | 4.8% | #s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| ✓ | 2.5% | #s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
Compiled 282 to 118 computations (58.2% saved)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| Outputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
7 calls:
| 6.0ms | (*.f64 y (log.f64 y)) |
| 3.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 3.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 3.0ms | y |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 100.0% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 100.0% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 100.0% | 1 | (*.f64 y (log.f64 y)) |
Compiled 30 to 35 computations (-16.7% saved)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
(exp.f64 #s(approx (- (+ x (* y (log y))) z) (log.f64 y))) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
7 calls:
| 10.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 3.0ms | (*.f64 y (log.f64 y)) |
| 3.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 3.0ms | y |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.4% | 1 | x |
| 5.4% | 1 | y |
| 5.4% | 1 | z |
| 5.4% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 5.4% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 5.4% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 5.4% | 1 | (*.f64 y (log.f64 y)) |
Compiled 30 to 35 computations (-16.7% saved)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
7 calls:
| 4.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 2.0ms | (*.f64 y (log.f64 y)) |
| 2.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 2.0ms | y |
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.4% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 5.4% | 1 | x |
| 5.4% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 5.4% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 5.4% | 1 | (*.f64 y (log.f64 y)) |
| 5.4% | 1 | y |
| 5.4% | 1 | z |
Compiled 30 to 35 computations (-16.7% saved)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) (*.f64 y (log.f64 y))) z)) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
7 calls:
| 2.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 2.0ms | y |
| 2.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 2.0ms | z |
| 2.0ms | (*.f64 y (log.f64 y)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.1% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 5.1% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 5.1% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 5.1% | 1 | x |
| 5.1% | 1 | y |
| 5.1% | 1 | (*.f64 y (log.f64 y)) |
| 5.1% | 1 | z |
Compiled 30 to 35 computations (-16.7% saved)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
7 calls:
| 2.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 1.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 1.0ms | x |
| 1.0ms | (*.f64 y (log.f64 y)) |
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 4.8% | 1 | y |
| 4.8% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 4.8% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 4.8% | 1 | x |
| 4.8% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 4.8% | 1 | (*.f64 y (log.f64 y)) |
| 4.8% | 1 | z |
Compiled 30 to 35 computations (-16.7% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
| Outputs |
|---|
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
7 calls:
| 1.0ms | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 1.0ms | (+.f64 x (*.f64 y (log.f64 y))) |
| 1.0ms | (*.f64 y (log.f64 y)) |
| 1.0ms | y |
| 1.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 2.5% | 1 | y |
| 2.5% | 1 | (exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
| 2.5% | 1 | (+.f64 x (*.f64 y (log.f64 y))) |
| 2.5% | 1 | (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z) |
| 2.5% | 1 | (*.f64 y (log.f64 y)) |
| 2.5% | 1 | x |
| 2.5% | 1 | z |
Compiled 30 to 35 computations (-16.7% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
| Outputs |
|---|
(exp.f64 (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 #s(approx (+ x (* y (log y))) #s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (-.f64 (+.f64 x (*.f64 y (log.f64 y))) z)) |
#s(approx (exp (- (+ x (* y (log y))) z)) (+.f64 x (*.f64 y (log.f64 y)))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (*.f64 y (log.f64 y))) |
#s(approx (exp (- (+ x (* y (log y))) z)) (log.f64 y)) |
| 1× | done |
Compiled 106 to 20 computations (81.1% saved)
Compiled 248 to 72 computations (71% saved)
Loading profile data...