
Time bar (total: 1.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
| 100% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
Compiled 41 to 33 computations (19.5% saved)
| 845.0ms | 8 256× | 0 | valid |
ival-<=: 204.0ms (45.1% of total)ival-add: 122.0ms (27% of total)ival-mult: 56.0ms (12.4% of total)ival-and: 38.0ms (8.4% of total)exact: 30.0ms (6.6% of total)ival-assert: 3.0ms (0.7% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 82 | 16 | (-13.354299316238727 -2.369619715169362 3.2274783149226707 12.561418043429526) | 47 | (-13.322428628133403 -2.703045030924381 3.1462607618327154 12.645583414080317) | (+.f64 a (+.f64 b (+.f64 c d))) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | d |
| 0 | 0 | - | 0 | - | (+.f64 c d) |
| 0 | 0 | - | 0 | - | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (+.f64 b (+.f64 c d)) |
| 0 | 0 | - | 0 | - | c |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | b |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.f64 | (+.f64 a (+.f64 b (+.f64 c d))) | cancellation | 51 | 93 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 46 | 89 |
| - | 5 | 116 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 46 | 63 | 26 |
| - | 5 | 30 | 86 |
| number | freq |
|---|---|
| 0 | 205 |
| 1 | 51 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 41.0ms | 512× | 0 | valid |
Compiled 100 to 40 computations (60% saved)
ival-add: 10.0ms (64.9% of total)ival-mult: 5.0ms (32.4% of total)ival-true: 1.0ms (6.5% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| Outputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
Compiled 9 to 9 computations (0% saved)
Compiled 0 to 4 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.9% | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
Compiled 9 to 9 computations (0% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 c d) | |
| cost-diff | 0 | (+.f64 b (+.f64 c d)) | |
| cost-diff | 0 | (+.f64 a (+.f64 b (+.f64 c d))) | |
| cost-diff | 0 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| Inputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+.f64 a (+.f64 b (+.f64 c d))) |
a |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
#s(literal 2 binary64) |
| Outputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+.f64 a (+.f64 b (+.f64 c d))) |
a |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
#s(literal 2 binary64) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 c d) | |
| accuracy | 0.0 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) | |
| accuracy | 0.5036125488422102 | (+.f64 b (+.f64 c d)) | |
| accuracy | 2.7709600497164035 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 13.0ms | 256× | 0 | valid |
Compiled 60 to 20 computations (66.7% saved)
ival-add: 3.0ms (58.9% of total)ival-mult: 2.0ms (39.3% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | d | @ | inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d)) |
| 1.0ms | b | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d)) |
| 1.0ms | d | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d)) |
| 1.0ms | a | @ | inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d)) |
| 0.0ms | c | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d)) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+ b (+ c d)) |
(+.f64 b (+.f64 c d)) |
(+ a (+ b (+ c d))) |
(+.f64 c d) |
| Inputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
| Outputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
Compiled 100 to 20 computations (80% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 6 | 2 | 8 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 6 | 3 | 9 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.9% | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| ▶ | 10.3% | (*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
| ▶ | 18.8% | #s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
Compiled 39 to 33 computations (15.4% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 c d) | |
| cost-diff | 0 | #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) | |
| cost-diff | 0 | (*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) | |
| cost-diff | 0 | (+.f64 c d) | |
| cost-diff | 0 | (+.f64 b (+.f64 c d)) | |
| cost-diff | 0 | (+.f64 a (+.f64 b (+.f64 c d))) | |
| cost-diff | 0 | #s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
a |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
(+.f64 c d) |
c |
d |
#s(literal 2 binary64) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
a |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
(+.f64 c d) |
c |
d |
#s(literal 2 binary64) |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 c d) | |
| accuracy | 0.0 | (*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) | |
| accuracy | 57.42473831532947 | #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) | |
| accuracy | 0.0 | (+.f64 c d) | |
| accuracy | 0.5036125488422102 | (+.f64 b (+.f64 c d)) | |
| accuracy | 2.7709600497164035 | (+.f64 a (+.f64 b (+.f64 c d))) | |
| accuracy | 52.0 | #s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
| 18.0ms | 256× | 0 | valid |
Compiled 118 to 27 computations (77.1% saved)
ival-add: 3.0ms (57.2% of total)ival-mult: 2.0ms (38.1% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | c | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | d | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | b | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | d | @ | inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | a | @ | inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+ b (+ c d)) |
(+.f64 b (+.f64 c d)) |
(+ a (+ b (+ c d))) |
(+.f64 c d) |
(* 2 a) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
Compiled 209 to 21 computations (90% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 2 | 11 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 1 | 1 |
| Total | 10 | 4 | 14 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.9% | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| ✓ | 18.8% | #s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
| ▶ | 10.6% | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
| ▶ | 10.7% | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
Compiled 70 to 47 computations (32.9% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 c d) | |
| cost-diff | 0 | #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) | |
| cost-diff | 0 | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) | |
| cost-diff | 0 | (+.f64 c d) | |
| cost-diff | 0 | (+.f64 b (+.f64 c d)) | |
| cost-diff | 0 | #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) | |
| cost-diff | 0 | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
(+.f64 c d) |
c |
d |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
b |
(+.f64 c d) |
c |
d |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
(+.f64 c d) |
c |
d |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (+.f64 c d) | |
| accuracy | 52.0 | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) | |
| accuracy | 57.42473831532947 | #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) | |
| accuracy | 0.0 | (+.f64 c d) | |
| accuracy | 0.5036125488422102 | (+.f64 b (+.f64 c d)) | |
| accuracy | 52.0 | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) | |
| accuracy | 57.37464854285113 | #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
| 24.0ms | 256× | 0 | valid |
Compiled 134 to 26 computations (80.6% saved)
ival-add: 3.0ms (59.8% of total)ival-mult: 1.0ms (19.9% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | d | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | a | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | c | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | b | @ | -inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 0.0ms | a | @ | inf | ((* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d))) (+ b (+ c d)) (+ c d) (* (+ a (+ b (+ c d))) 2) (+ a (+ b (+ c d)))) |
| 1× | egg-herbie |
| Inputs |
|---|
(* 2 (+ b (+ c d))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
(+ b (+ c d)) |
(+ a (+ b (+ c d))) |
(* 2 a) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
a |
(* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) |
(* -1 (* a (- (* -2 (/ (+ b (+ c d)) a)) 2))) |
(* -1 (* a (- (* -1 (/ (+ b (+ c d)) a)) 1))) |
(* 2 (+ a (+ c d))) |
(+ (* 2 b) (* 2 (+ a (+ c d)))) |
(+ a (+ c d)) |
(+ c d) |
(* 2 b) |
(* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) |
b |
(* b (+ 1 (+ (/ a b) (+ (/ c b) (/ d b))))) |
(* b (+ 1 (+ (/ c b) (/ d b)))) |
(* -1 (* b (- (* -2 (/ (+ a (+ c d)) b)) 2))) |
(* -1 (* b (- (* -1 (/ (+ a (+ c d)) b)) 1))) |
(* -1 (* b (- (* -1 (/ (+ c d) b)) 1))) |
(* 2 (+ a (+ b d))) |
(+ (* 2 c) (* 2 (+ a (+ b d)))) |
(+ a (+ b d)) |
(+ b d) |
d |
(* 2 c) |
(* c (+ 2 (* 2 (/ (+ a (+ b d)) c)))) |
c |
(* c (+ 1 (+ (/ a c) (+ (/ b c) (/ d c))))) |
(* c (+ 1 (+ (/ b c) (/ d c)))) |
(* c (+ 1 (/ d c))) |
(* -1 (* c (- (* -2 (/ (+ a (+ b d)) c)) 2))) |
(* -1 (* c (- (* -1 (/ (+ a (+ b d)) c)) 1))) |
(* -1 (* c (- (* -1 (/ (+ b d) c)) 1))) |
(* -1 (* c (- (* -1 (/ d c)) 1))) |
(* 2 (+ a (+ b c))) |
(+ (* 2 d) (* 2 (+ a (+ b c)))) |
(+ a (+ b c)) |
(+ b c) |
(* 2 d) |
(* d (+ 2 (* 2 (/ (+ a (+ b c)) d)))) |
(* d (+ 1 (+ (/ a d) (+ (/ b d) (/ c d))))) |
(* d (+ 1 (+ (/ b d) (/ c d)))) |
(* d (+ 1 (/ c d))) |
(* -1 (* d (- (* -2 (/ (+ a (+ b c)) d)) 2))) |
(* -1 (* d (- (* -1 (/ (+ a (+ b c)) d)) 1))) |
(* -1 (* d (- (* -1 (/ (+ b c) d)) 1))) |
(* -1 (* d (- (* -1 (/ c d)) 1))) |
| Outputs |
|---|
(* 2 (+ b (+ c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
(+ (* 2 a) (* 2 (+ b (+ c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+ b (+ c d)) |
(+.f64 b (+.f64 c d)) |
(+ a (+ b (+ c d))) |
(+.f64 c d) |
(* 2 a) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
(* a (+ 2 (* 2 (/ (+ b (+ c d)) a)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
(+.f64 b (+.f64 c d)) |
(+.f64 c d) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 c d)) |
Compiled 219 to 17 computations (92.2% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 9 | 0 | 9 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 2 | 2 |
| Total | 9 | 4 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.9% | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| ✓ | 18.8% | #s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
| ✓ | 10.6% | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
| ✓ | 10.7% | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
Compiled 153 to 67 computations (56.2% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| Outputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
8 calls:
| 10.0ms | (+.f64 a (+.f64 b (+.f64 c d))) |
| 2.0ms | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 2.0ms | (+.f64 c d) |
| 2.0ms | (+.f64 b (+.f64 c d)) |
| 2.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.9% | 1 | a |
| 93.9% | 1 | b |
| 93.9% | 1 | c |
| 93.9% | 1 | d |
| 93.9% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 93.9% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 93.9% | 1 | (+.f64 b (+.f64 c d)) |
| 93.9% | 1 | (+.f64 c d) |
Compiled 28 to 43 computations (-53.6% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
8 calls:
| 9.0ms | (+.f64 c d) |
| 2.0ms | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 2.0ms | (+.f64 b (+.f64 c d)) |
| 2.0ms | (+.f64 a (+.f64 b (+.f64 c d))) |
| 2.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 18.8% | 1 | a |
| 18.8% | 1 | c |
| 18.8% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 18.8% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 18.8% | 1 | b |
| 18.8% | 1 | d |
| 18.8% | 1 | (+.f64 b (+.f64 c d)) |
| 18.8% | 1 | (+.f64 c d) |
Compiled 28 to 43 computations (-53.6% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (+.f64 c d)) #s(literal 2 binary64)) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
8 calls:
| 2.0ms | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 2.0ms | c |
| 2.0ms | (+.f64 c d) |
| 2.0ms | (+.f64 a (+.f64 b (+.f64 c d))) |
| 2.0ms | (+.f64 b (+.f64 c d)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 10.7% | 1 | a |
| 10.7% | 1 | b |
| 10.7% | 1 | d |
| 10.7% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 10.7% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 10.7% | 1 | (+.f64 b (+.f64 c d)) |
| 10.7% | 1 | (+.f64 c d) |
| 10.7% | 1 | c |
Compiled 28 to 43 computations (-53.6% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
8 calls:
| 5.0ms | (+.f64 c d) |
| 1.0ms | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 1.0ms | (+.f64 a (+.f64 b (+.f64 c d))) |
| 1.0ms | (+.f64 b (+.f64 c d)) |
| 1.0ms | d |
| Accuracy | Segments | Branch |
|---|---|---|
| 10.6% | 1 | b |
| 10.6% | 1 | c |
| 10.6% | 1 | (+.f64 b (+.f64 c d)) |
| 10.6% | 1 | a |
| 10.6% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 10.6% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 10.6% | 1 | (+.f64 c d) |
| 10.6% | 1 | d |
Compiled 28 to 43 computations (-53.6% saved)
| 1× | egg-herbie |
| Inputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
| Outputs |
|---|
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ a (+ b (+ c d))) (+.f64 c d))) |
| 1× | done |
Compiled 70 to 19 computations (72.9% saved)
Compiled 180 to 76 computations (57.8% saved)
Loading profile data...