
Time bar (total: 1.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.6% | 0.4% | 0% | 0% | 0% | 0 |
| 100% | 99.6% | 0% | 0.4% | 0% | 0% | 0% | 1 |
Compiled 17 to 17 computations (0% saved)
| 638.0ms | 8 256× | 0 | valid |
ival-mult: 210.0ms (63.8% of total)ival-add: 111.0ms (33.7% of total)ival-true: 6.0ms (1.8% of total)ival-assert: 3.0ms (0.9% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 9 | 0 | - | 0 | - | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 5 | 0 | - | 0 | - | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 4 | 0 | - | 0 | - | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0 | 0 | - | 0 | - | (*.f64 c i) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | t |
| 0 | 0 | - | 0 | - | (*.f64 z t) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 x y) |
| 0 | 0 | - | 0 | - | c |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | i |
| 0 | 0 | - | 0 | - | b |
| 0 | 0 | - | 0 | - | (*.f64 a b) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.f64 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) | nan-rescue | 9 | 0 |
| ↳ | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | overflow | 75 | |
| ↳ | (*.f64 a b) | overflow | 22 | |
| ↳ | (*.f64 x y) | overflow | 33 | |
| ↳ | (+.f64 (*.f64 x y) (*.f64 z t)) | overflow | 59 | |
| ↳ | (*.f64 z t) | overflow | 31 | |
| ↳ | (*.f64 c i) | overflow | 32 | |
+.f64 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | nan-rescue | 5 | 0 |
| ↳ | (*.f64 x y) | overflow | 33 | |
| ↳ | (+.f64 (*.f64 x y) (*.f64 z t)) | overflow | 59 | |
| ↳ | (*.f64 z t) | overflow | 31 | |
| ↳ | (*.f64 a b) | overflow | 22 | |
+.f64 | (+.f64 (*.f64 x y) (*.f64 z t)) | nan-rescue | 4 | 0 |
| ↳ | (*.f64 x y) | overflow | 33 | |
| ↳ | (*.f64 z t) | overflow | 31 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 17 | 0 |
| - | 0 | 239 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 17 | 0 | 0 |
| - | 0 | 0 | 239 |
| number | freq |
|---|---|
| 0 | 239 |
| 1 | 16 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 46.0ms | 512× | 0 | valid |
Compiled 178 to 64 computations (64% saved)
ival-mult: 13.0ms (67.5% of total)ival-add: 6.0ms (31.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
Compiled 15 to 15 computations (0% saved)
Compiled 0 to 8 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.3% | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
Compiled 15 to 15 computations (0% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| cost-diff | 0 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | |
| cost-diff | 0 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 0.9570250574906174 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| accuracy | 1.1523375574906176 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | |
| accuracy | 2.0585834291510294 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 22.0ms | 256× | 0 | valid |
Compiled 108 to 32 computations (70.4% saved)
ival-mult: 6.0ms (63.2% of total)ival-add: 3.0ms (31.6% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(*.f64 a b) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | c | @ | 0 | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* a b)) |
| 1.0ms | c | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* a b)) |
| 1.0ms | z | @ | inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* a b)) |
| 1.0ms | x | @ | 0 | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* a b)) |
| 1.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* a b)) |
| 1× | egg-herbie |
| Inputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+ (* a b) (* t z)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(+ (* a b) (+ (* t z) (* x y))) |
(*.f64 x y) |
(* t z) |
(*.f64 a b) |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(*.f64 a b) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(*.f64 a b) |
Compiled 194 to 31 computations (84% 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 |
|---|---|---|
| ✓ | 93.3% | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| ▶ | 37.1% | (+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
| ▶ | 74.3% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
| ▶ | 54.3% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
| ▶ | 71.5% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
Compiled 103 to 88 computations (14.6% saved)
| 1× | egg-herbie |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 a b) | |
| cost-diff | 0 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| cost-diff | 0 | (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) | |
| cost-diff | 0 | (+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) | |
| cost-diff | 0 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) | |
| cost-diff | 0 | (*.f64 c i) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| cost-diff | 0 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| cost-diff | 0 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
(*.f64 c i) |
c |
i |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 c i) |
c |
i |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
(*.f64 c i) |
c |
i |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 c i) |
c |
i |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 1.1523375574906176 | (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) | |
| accuracy | 2.0585834291510294 | (+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) | |
| accuracy | 61.98376036493521 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| accuracy | 0.0 | (*.f64 c i) | |
| accuracy | 0.9570250574906174 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| accuracy | 2.0585834291510294 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) | |
| accuracy | 18.952626895759813 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) | |
| accuracy | 0.0 | (*.f64 x y) | |
| accuracy | 0.0 | (*.f64 c i) | |
| accuracy | 2.0585834291510294 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) | |
| accuracy | 39.92215372737968 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 0.9570250574906174 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| accuracy | 1.1523375574906176 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
| 30.0ms | 256× | 0 | valid |
Compiled 400 to 46 computations (88.5% saved)
ival-mult: 6.0ms (62.7% of total)ival-add: 3.0ms (31.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 b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 c i) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | y | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | b | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | i | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1× | egg-herbie |
| Inputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+ (* a b) (* t z)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(+ (* a b) (+ (* t z) (* x y))) |
(*.f64 x y) |
(* t z) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
(+ (* t z) (* x y)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(* x y) |
(*.f64 c i) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(* x (+ y (/ (* t z) x))) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(*.f64 a b) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 c i) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 c i) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
Compiled 1 045 to 62 computations (94.1% saved)
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 28 | 7 | 35 |
| Fresh | 0 | 0 | 0 |
| Picked | 3 | 1 | 4 |
| Done | 1 | 0 | 1 |
| Total | 32 | 8 | 40 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 54.3% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
| 48.7% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) | |
| ▶ | 70.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
| 12.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) | |
| ▶ | 49.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
| ▶ | 52.9% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
| ▶ | 30.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| ▶ | 23.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
Compiled 493 to 291 computations (41% saved)
| 1× | egg-herbie |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| cost-diff | 0 | #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) | |
| cost-diff | 0 | (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) | |
| cost-diff | 0 | (*.f64 a b) | |
| cost-diff | 0 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) | |
| cost-diff | 0 | #s(approx (* x y) (*.f64 c i)) | |
| cost-diff | 0 | (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) | |
| cost-diff | 0 | (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
(*.f64 a b) |
a |
b |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
x |
y |
(*.f64 a b) |
a |
b |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 1.1523375574906176 | (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) | |
| accuracy | 18.952626895759813 | #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) | |
| accuracy | 39.92215372737968 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| accuracy | 0.0 | (*.f64 x y) | |
| accuracy | 0.9570250574906174 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) | |
| accuracy | 18.952626895759813 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) | |
| accuracy | 0.0 | (*.f64 x y) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) | |
| accuracy | 39.92215372737968 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) | |
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) | |
| accuracy | 18.952626895759813 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) | |
| accuracy | 61.98376036493521 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| accuracy | 0.9570250574906174 | (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) | |
| accuracy | 1.1523375574906176 | (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) | |
| accuracy | 60.29767248069782 | #s(approx (* x y) (*.f64 c i)) |
| 40.0ms | 256× | 0 | valid |
Compiled 616 to 51 computations (91.7% saved)
ival-mult: 6.0ms (61.3% of total)ival-add: 3.0ms (30.6% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t))) |
| 1.0ms | y | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t))) |
| 1.0ms | b | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t))) |
| 1.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t))) |
| 1.0ms | z | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t))) |
| 1× | egg-herbie |
| Inputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+ (* a b) (* t z)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
(+ (* a b) (+ (* t z) (* x y))) |
#s(approx (* x y) (*.f64 c i)) |
(* t z) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
(+ (* t z) (* x y)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
(* x y) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(*.f64 a b) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
(* x (+ y (/ (* t z) x))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(*.f64 x y) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(* y (+ x (/ (* t z) y))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) |
(*.f64 x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
(+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b)) |
#s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
Compiled 1 475 to 65 computations (95.6% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 2 | 37 |
| Fresh | 1 | 1 | 2 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 1 | 1 |
| Total | 36 | 9 | 45 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 54.3% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
| ▶ | 48.7% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
| ✓ | 70.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
| ✓ | 49.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
| ✓ | 52.9% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
| ▶ | 49.9% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
| ✓ | 30.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| ✓ | 23.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
| ▶ | 28.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
Compiled 299 to 175 computations (41.5% saved)
| 1× | egg-herbie |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 a b) | |
| cost-diff | 0 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) | |
| cost-diff | 0 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) | |
| cost-diff | 0 | #s(approx (* x y) (*.f64 c i)) | |
| cost-diff | 0 | (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) | |
| cost-diff | 0 | (*.f64 c i) | |
| cost-diff | 0 | #s(approx (* x y) (*.f64 c i)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) | |
| cost-diff | 0 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
(*.f64 z t) |
z |
t |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
c |
i |
(*.f64 z t) |
z |
t |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
a |
b |
(*.f64 c i) |
c |
i |
Found 12 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 2.0585834291510294 | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) | |
| accuracy | 18.952626895759813 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) | |
| accuracy | 61.98376036493521 | #s(approx (+ (* x y) (* z t)) (*.f64 a b)) | |
| accuracy | 0.9570250574906174 | (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) | |
| accuracy | 18.952626895759813 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) | |
| accuracy | 60.29767248069782 | #s(approx (* x y) (*.f64 c i)) | |
| accuracy | 0.0 | (*.f64 c i) | |
| accuracy | 15.957886857737037 | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) | |
| accuracy | 39.92215372737968 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) | |
| accuracy | 60.29767248069782 | #s(approx (* x y) (*.f64 c i)) |
| 29.0ms | 256× | 0 | valid |
Compiled 352 to 44 computations (87.5% saved)
ival-mult: 6.0ms (61.7% of total)ival-add: 3.0ms (30.9% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* x y) |
(* t z) |
(+ (* t z) (* x y)) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | x | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | a | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | b | @ | -inf | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1.0ms | x | @ | 0 | ((+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (* x y) (* c i) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* a b)) |
| 1× | egg-herbie |
| Inputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* x y) |
(* t z) |
(+ (* t z) (* x y)) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (+ (/ (* c i) y) (/ (* t z) y))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (+ (* c i) (* x y))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (+ (/ (* c i) z) (/ (* x y) z))))) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (+ (/ (* c i) t) (/ (* x y) t))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (+ (* c i) (* x y))) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(+ (* c i) (+ (* t z) (* x y))) |
(* a b) |
(* a (+ b (+ (/ (* c i) a) (+ (/ (* t z) a) (/ (* x y) a))))) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* c i) b) (+ (/ (* t z) b) (/ (* x y) b))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* c i) (+ (* t z) (* x y))) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* c i) |
(* c (+ i (+ (/ (* a b) c) (+ (/ (* t z) c) (/ (* x y) c))))) |
(* -1 (* c (+ (* -1 i) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) c))))) |
(* i (+ c (+ (/ (* a b) i) (+ (/ (* t z) i) (/ (* x y) i))))) |
(* -1 (* i (+ (* -1 c) (* -1 (/ (+ (* a b) (+ (* t z) (* x y))) i))))) |
| Outputs |
|---|
(+ (* a b) (+ (* c i) (* t z))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
(+ (* a b) (+ (* c i) (+ (* t z) (* x y)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
(+ (* a b) (* t z)) |
#s(approx (* x y) (*.f64 c i)) |
(+ (* a b) (+ (* t z) (* x y))) |
(*.f64 c i) |
(* x y) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
(* t z) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+ (* t z) (* x y)) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
(* x (+ y (+ (/ (* a b) x) (+ (/ (* c i) x) (/ (* t z) x))))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
(* x (+ y (/ (* t z) x))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (+ (* c i) (* t z))) x))))) |
(*.f64 a b) |
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i))) |
#s(approx (* x y) (*.f64 c i)) |
(*.f64 c i) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t))) |
(+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) |
#s(approx (+ (* x y) (* z t)) (*.f64 a b)) |
(*.f64 a b) |
Compiled 964 to 49 computations (94.9% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 24 | 0 | 24 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 0 | 6 | 6 |
| Total | 24 | 9 | 33 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 54.3% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
| ✓ | 48.7% | (+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
| ✓ | 70.3% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
| ✓ | 49.4% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
| ✓ | 52.9% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
| ✓ | 49.9% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
| ✓ | 30.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| ✓ | 23.1% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
| ✓ | 28.0% | #s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
Compiled 713 to 222 computations (68.9% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
15 calls:
| 8.0ms | b |
| 7.0ms | x |
| 6.0ms | (*.f64 x y) |
| 5.0ms | z |
| 5.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.3% | 1 | x |
| 93.3% | 1 | y |
| 93.3% | 1 | z |
| 93.3% | 1 | t |
| 93.3% | 1 | a |
| 93.3% | 1 | b |
| 93.3% | 1 | c |
| 93.3% | 1 | i |
| 96.1% | 2 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 95.3% | 2 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 95.3% | 2 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 95.7% | 2 | (*.f64 x y) |
| 93.3% | 1 | (*.f64 z t) |
| 93.3% | 1 | (*.f64 a b) |
| 93.3% | 1 | (*.f64 c i) |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
(+.f64 (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b)) (*.f64 c i)) |
| Outputs |
|---|
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 c i)) |
15 calls:
| 8.0ms | (*.f64 c i) |
| 7.0ms | b |
| 7.0ms | x |
| 5.0ms | z |
| 5.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.4% | 3 | x |
| 84.1% | 3 | y |
| 77.6% | 3 | z |
| 76.2% | 2 | t |
| 84.4% | 3 | a |
| 85.4% | 4 | b |
| 83.5% | 3 | c |
| 84.7% | 3 | i |
| 78.7% | 3 | (*.f64 z t) |
| 86.7% | 3 | (*.f64 a b) |
| 88.3% | 3 | (*.f64 c i) |
| 85.4% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 86.8% | 4 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 89.3% | 4 | (*.f64 x y) |
| 80.5% | 4 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
2 calls:
| 4.0ms | (*.f64 c i) |
| 4.0ms | (*.f64 x y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 89.3% | 4 | (*.f64 x y) |
| 87.1% | 3 | (*.f64 c i) |
Compiled 6 to 18 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
6 calls:
| 6.0ms | (*.f64 a b) |
| 4.0ms | x |
| 4.0ms | (*.f64 c i) |
| 4.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 3.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 74.1% | 2 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 82.9% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 83.9% | 4 | x |
| 74.1% | 3 | (*.f64 a b) |
| 74.1% | 3 | (*.f64 c i) |
| 85.1% | 3 | (*.f64 x y) |
Compiled 28 to 59 computations (-110.7% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y)) (*.f64 c i)) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
(+.f64 #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b))) (*.f64 c i)) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
10 calls:
| 5.0ms | i |
| 4.0ms | c |
| 4.0ms | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 4.0ms | a |
| 3.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 73.2% | 4 | (*.f64 z t) |
| 60.7% | 4 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 73.4% | 5 | x |
| 78.0% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 65.9% | 4 | c |
| 68.3% | 5 | b |
| 64.9% | 3 | y |
| 65.1% | 3 | a |
| 70.5% | 4 | i |
| 72.8% | 4 | (*.f64 x y) |
Compiled 34 to 92 computations (-170.6% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) (*.f64 a b)) (*.f64 a b))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (+.f64 #s(approx (+ (* x y) (* z t)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) (*.f64 a b))) |
8 calls:
| 3.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 3.0ms | z |
| 3.0ms | (*.f64 c i) |
| 3.0ms | t |
| 3.0ms | (*.f64 a b) |
| Accuracy | Segments | Branch |
|---|---|---|
| 70.8% | 3 | (*.f64 x y) |
| 69.0% | 3 | (*.f64 z t) |
| 66.1% | 4 | (*.f64 a b) |
| 69.7% | 4 | (*.f64 c i) |
| 64.1% | 3 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 61.3% | 3 | z |
| 65.1% | 3 | t |
| 69.9% | 4 | (+.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 32 to 76 computations (-137.5% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 (*.f64 x y) (*.f64 z t)))) |
4 calls:
| 3.0ms | (*.f64 x y) |
| 2.0ms | i |
| 2.0ms | x |
| 2.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.9% | 3 | i |
| 55.0% | 2 | (*.f64 z t) |
| 66.3% | 3 | x |
| 68.7% | 3 | (*.f64 x y) |
Compiled 8 to 34 computations (-325% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (+.f64 #s(approx (* x y) (*.f64 c i)) (*.f64 z t)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
4 calls:
| 3.0ms | x |
| 2.0ms | (*.f64 c i) |
| 2.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 2.0ms | (*.f64 x y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 62.6% | 3 | x |
| 54.1% | 3 | (*.f64 c i) |
| 52.1% | 2 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 65.6% | 3 | (*.f64 x y) |
Compiled 14 to 37 computations (-164.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x y))) |
15 calls:
| 2.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 2.0ms | c |
| 2.0ms | i |
| 2.0ms | a |
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 43.9% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 47.0% | 3 | (*.f64 c i) |
| 34.4% | 3 | (*.f64 z t) |
| 33.3% | 2 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 36.7% | 4 | z |
| 45.2% | 3 | x |
| 41.9% | 3 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 42.6% | 4 | c |
| 44.8% | 4 | (*.f64 a b) |
| 41.4% | 3 | y |
| 45.0% | 3 | i |
| 38.6% | 4 | b |
| 31.9% | 2 | t |
| 40.0% | 3 | a |
| 48.0% | 3 | (*.f64 x y) |
Compiled 53 to 139 computations (-162.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* x y) (* z t)) (*.f64 a b)))) |
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
5 calls:
| 2.0ms | (*.f64 c i) |
| 1.0ms | i |
| 1.0ms | x |
| 1.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 1.0ms | (*.f64 x y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.0% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 37.8% | 3 | i |
| 31.7% | 2 | x |
| 43.2% | 3 | (*.f64 c i) |
| 28.0% | 1 | (*.f64 x y) |
Compiled 15 to 45 computations (-200% saved)
| Inputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
| Outputs |
|---|
#s(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (* x y) (*.f64 c i)))) |
13 calls:
| 18.0ms | (*.f64 z t) |
| 1.0ms | t |
| 1.0ms | (*.f64 a b) |
| 1.0ms | i |
| 1.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.0% | 1 | x |
| 28.0% | 1 | t |
| 28.0% | 1 | (*.f64 z t) |
| 28.0% | 1 | (+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i)) |
| 28.0% | 1 | z |
| 28.0% | 1 | b |
| 28.0% | 1 | i |
| 28.0% | 1 | a |
| 28.0% | 1 | c |
| 28.0% | 1 | y |
| 28.0% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 28.0% | 1 | (*.f64 a b) |
| 28.0% | 1 | (*.f64 c i) |
Compiled 43 to 119 computations (-176.7% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 12860343231853988.0 | 98426362404830320.0 |
| 16.0ms | -6.469341560982378e+143 | -9.303845179209147e+133 |
| 18.0ms | 256× | 0 | valid |
Compiled 826 to 672 computations (18.6% saved)
ival-mult: 5.0ms (61.3% of total)ival-add: 3.0ms (36.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | predicate-same |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 16.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
| 13.0ms | -inf | -1.5849234653931087e+301 |
| 28.0ms | 400× | 0 | valid |
Compiled 1 402 to 1 086 computations (22.5% saved)
ival-mult: 9.0ms (63.1% of total)ival-add: 5.0ms (35% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 1.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
| 7.0ms | 112× | 0 | valid |
Compiled 1 242 to 774 computations (37.7% saved)
ival-mult: 2.0ms (56.6% of total)ival-add: 1.0ms (28.3% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.829930695515955e+145 | 2.8409002043494167e+148 |
| 0.0ms | -1.2365829226650698e+200 | -1.003173309385837e+199 |
Compiled 18 to 26 computations (-44.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 1.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
| 5.0ms | 80× | 0 | valid |
Compiled 1 378 to 757 computations (45.1% saved)
ival-mult: 2.0ms (79.2% of total)ival-add: 1.0ms (39.6% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 5.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 1.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
| 3.0ms | 48× | 0 | valid |
Compiled 1 242 to 740 computations (40.4% saved)
ival-add: 1.0ms (66.1% of total)ival-mult: 1.0ms (66.1% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 1.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
Compiled 1 174 to 706 computations (39.9% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 8.811117534061594e+72 | 3.924904915810499e+77 |
| 1.0ms | -1.860778345675936e+60 | -3.1705584508260293e+51 |
| 8.0ms | 96× | 0 | valid |
Compiled 1 106 to 672 computations (39.2% saved)
ival-mult: 2.0ms (64.7% of total)ival-add: 1.0ms (32.4% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 538556.2178228067 | 2674844.588550154 |
| 15.0ms | -6.469341560982378e+143 | -9.303845179209147e+133 |
| 17.0ms | 240× | 0 | valid |
Compiled 1 170 to 650 computations (44.4% saved)
ival-mult: 5.0ms (65.7% of total)ival-add: 3.0ms (39.4% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)Loading profile data...