
Time bar (total: 3.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)
| 624.0ms | 8 256× | 0 | valid |
ival-add!: 86.0ms (57.7% of total)ival-mult!: 61.0ms (40.9% of total)adjust: 2.0ms (1.3% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 141 |
| 1 | 187 | 135 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 94.2% | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(sort b c d)
Compiled 18 to 18 computations (0% saved)
| 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 |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 b (+.f64 c d))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx a a) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 c d))) |
#s(approx (+ b (+ c d)) (+.f64 c d)) |
#s(approx b b) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) |
#s(approx (+ b (+ c d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64))))) |
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b d))) |
#s(approx (+ b (+ c d)) (+.f64 b d)) |
#s(approx (+ c d) d) |
#s(approx c c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) |
#s(approx (+ b (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c))))) |
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64))))) |
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))) |
#s(approx (+ a (+ b (+ c d))) (+.f64 a (+.f64 b c))) |
#s(approx (+ b (+ c d)) (+.f64 b c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) d)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) |
#s(approx (+ b (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d))))) |
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64))))) |
#s(approx (+ b (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | d | 0 |
| 1.0ms | b | inf |
| 1.0ms | a | inf |
| 1.0ms | c | -inf |
| 1.0ms | a | -inf |
| 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 (+.f64 a b) (+.f64 c d)) #s(literal 2 binary64)) |
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 a b) (+.f64 c d))) |
(+.f64 (+.f64 a b) (+.f64 c d)) |
(+.f64 (+.f64 b (+.f64 c d)) a) |
(+.f64 a (+.f64 b (+.f64 c d))) |
(-.f64 a (neg.f64 (+.f64 b (+.f64 c d)))) |
a |
(+.f64 b (+.f64 c d)) |
(+.f64 (+.f64 c d) b) |
(+.f64 (+.f64 b c) d) |
(-.f64 b (neg.f64 (+.f64 c d))) |
b |
(+.f64 c d) |
(+.f64 d c) |
(-.f64 c (neg.f64 d)) |
c |
d |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
Compiled 1 064 to 277 computations (74% saved)
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 47 | 14 | 61 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 48 | 14 | 62 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 95.5% | (*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
| 11.3% | (*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) | |
| 94.1% | (*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) #s(literal 2 binary64)) | |
| 94.0% | (*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) #s(literal 2 binary64)) | |
| 93.8% | (*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) #s(literal 2 binary64)) | |
| ▶ | 93.8% | (*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64)) |
| ▶ | 96.0% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
| 94.4% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) | |
| 94.6% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) | |
| 95.3% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) | |
| ▶ | 94.1% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
| 93.8% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) | |
| 11.2% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) | |
| ▶ | 6.6% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
Compiled 560 to 428 computations (23.6% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(literal 2 binary64) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))) |
(+.f64 a (+.f64 b d)) |
a |
(+.f64 b d) |
b |
d |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
(*.f64 #s(literal 2 binary64) b) |
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
(+.f64 a (+.f64 (+.f64 b c) d)) |
(+.f64 (+.f64 b c) d) |
(+.f64 b c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
(*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))) |
(+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))) |
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) |
(/.f64 (+.f64 a (+.f64 c d)) b) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
(*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))) |
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))) |
#s(literal 1 binary64) |
(+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))) |
(/.f64 b a) |
(+.f64 (/.f64 c a) (/.f64 d a)) |
(/.f64 c a) |
(/.f64 d a) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 b d))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d)))) |
#s(approx (+ a (+ b d)) (+.f64 b d)) |
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d))) |
#s(approx a a) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 b (+.f64 c d))) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) a (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 c d) b)) |
#s(approx (/ (+ a (+ c d)) b) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))) |
#s(approx (+ a (+ c d)) (+.f64 c d)) |
#s(approx (+ a (+ c d)) (+.f64 a (+.f64 c d))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (/.f64 (+.f64 b (+.f64 c d)) a)) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (/.f64 (+.f64 a (+.f64 b (+.f64 c d))) a)) |
#s(approx (/ b a) (/.f64 b a)) |
#s(approx (+ (/ c a) (/ d a)) (/.f64 (+.f64 c d) a)) |
#s(approx (/ c a) (/.f64 c a)) |
#s(approx (/ d a) (/.f64 d a)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a)))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a))))) |
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 a (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 a b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 a b)) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 a (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b)))))) |
#s(approx (+ a (+ c d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) #s(literal 1 binary64)) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))) a)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b d) a)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a)) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64))))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 b a) (fma.f64 #s(literal -1 binary64) (/.f64 c a) (*.f64 #s(literal -1 binary64) (/.f64 d a)))) #s(literal 1 binary64))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d))) a)))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) b (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d))) a))) |
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) d)) a))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(approx (+ a (+ b d)) (+.f64 a d)) |
#s(approx (+ b d) d) |
#s(approx b b) |
#s(approx (* 2 b) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (+ b c) c) |
#s(approx (+ b c) (+.f64 b c)) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) b)) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a (+.f64 c d)) b)) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 b (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 c a) (/.f64 d a))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 b (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))) |
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) |
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b)))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) |
#s(approx (+ (+ b c) d) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) |
#s(approx (+ b c) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 c b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) #s(literal 2 binary64)) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))) b)))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 b (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b))))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 b (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 c (*.f64 a b)) (/.f64 d (*.f64 a b)))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) b)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) b)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64))))) |
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c b)) #s(literal 1 binary64))))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a)))) b)) #s(literal 1 binary64))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))) b)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 c a) (/.f64 d a)) b)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) c (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a d) b)) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 c (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (/.f64 d a))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) |
#s(approx (+ (+ b c) d) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c))))) |
#s(approx (+ b c) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 b c)))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 c (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) c)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 c b)) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 a (*.f64 b c)) (/.f64 d (*.f64 b c)))))) |
#s(approx (+ a (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c))))) |
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c)))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))) c)))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) c) (+.f64 (/.f64 b (*.f64 a c)) (/.f64 d (*.f64 a c))))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 b (*.f64 a c)) (/.f64 d (*.f64 a c)))))) |
#s(approx (+ (/ c a) (/ d a)) (*.f64 c (+.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 d (*.f64 a c))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64))))) |
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b c)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c)) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64))))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a)))) c)) #s(literal 1 binary64))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))) c)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 b a) (/.f64 d a)) c)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d (*.f64 a c))) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a b))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b)))) |
#s(approx (+ a (+ b d)) (+.f64 a b)) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b c))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) d (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 (+.f64 a c) b)) |
#s(approx (+ a (+ c d)) (+.f64 a c)) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a))))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (+.f64 d (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (+.f64 (/.f64 b a) (/.f64 c a))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) d)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d)))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d))))) |
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d))))) |
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d)))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) |
#s(approx (+ (+ b c) d) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 d (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 d b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) d)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (/ (+ a (+ c d)) b) (/.f64 d b)) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) b) (+.f64 (/.f64 a (*.f64 b d)) (/.f64 c (*.f64 b d)))))) |
#s(approx (+ a (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d))))) |
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d)))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))) d)))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 #s(literal 1 binary64) d) (+.f64 (/.f64 b (*.f64 a d)) (/.f64 c (*.f64 a d))))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (+.f64 (/.f64 b (*.f64 a d)) (/.f64 c (*.f64 a d)))))) |
#s(approx (+ (/ c a) (/ d a)) (*.f64 d (+.f64 (/.f64 #s(literal 1 binary64) a) (/.f64 c (*.f64 a d))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))) d)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a b) d)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b)))) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (* 2 (/ (+ a (+ c d)) b)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (/ (+ a (+ c d)) b) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d)) (/.f64 #s(literal 1 binary64) b))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64))))) |
#s(approx (* a (+ 1 (+ (/ b a) (+ (/ c a) (/ d a))))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a)))) d)) #s(literal 1 binary64))))) |
#s(approx (+ 1 (+ (/ b a) (+ (/ c a) (/ d a)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 c a))) d)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (/ b a) (+ (/ c a) (/ d a))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 b a) (/.f64 c a)) d)) (/.f64 #s(literal 1 binary64) a))))) |
#s(approx (+ (/ c a) (/ d a)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c (*.f64 a d))) (/.f64 #s(literal 1 binary64) a))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 8.0ms | b | inf |
| 4.0ms | a | inf |
| 4.0ms | a | -inf |
| 3.0ms | b | -inf |
| 3.0ms | b | 0 |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(literal 2 binary64) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))) |
(+.f64 a (+.f64 b d)) |
a |
(+.f64 b d) |
b |
d |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
(*.f64 #s(literal 2 binary64) b) |
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
(+.f64 a (+.f64 (+.f64 b c) d)) |
(+.f64 (+.f64 b c) d) |
(+.f64 b c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
(*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))) |
(+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))) |
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) |
(/.f64 (+.f64 a (+.f64 c d)) b) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64)) |
#s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
(*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))))) |
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))) |
#s(literal 1 binary64) |
(+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a))) |
(/.f64 b a) |
(+.f64 (/.f64 c a) (/.f64 d a)) |
(/.f64 c a) |
(/.f64 d a) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))) |
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))) (+.f64 c c)) |
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
(-.f64 (+.f64 c c) (*.f64 #s(literal -2 binary64) (+.f64 a (+.f64 b d)))) |
(-.f64 (+.f64 c c) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
(fma.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64) (+.f64 c c)) |
(fma.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)) (+.f64 c c)) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))) |
(*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64)) |
(+.f64 (+.f64 a (+.f64 b d)) (+.f64 a (+.f64 b d))) |
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 (+.f64 b d) #s(literal 2 binary64))) |
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) (+.f64 b d))) |
(fma.f64 a #s(literal 2 binary64) (*.f64 (+.f64 b d) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d))) |
(+.f64 a (+.f64 b d)) |
(+.f64 (+.f64 a b) d) |
(+.f64 (+.f64 b d) a) |
(-.f64 a (neg.f64 (+.f64 b d))) |
a |
(+.f64 b d) |
(+.f64 d b) |
(-.f64 b (neg.f64 d)) |
b |
d |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
(*.f64 #s(literal 2 binary64) b) |
(*.f64 b #s(literal 2 binary64)) |
(+.f64 b b) |
(*.f64 (+.f64 (+.f64 a b) (+.f64 c d)) #s(literal 2 binary64)) |
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 a b) (+.f64 c d))) |
(+.f64 (+.f64 a b) (+.f64 c d)) |
(+.f64 a (+.f64 (+.f64 b c) d)) |
(+.f64 (+.f64 (+.f64 b c) d) a) |
(+.f64 (+.f64 a (+.f64 b c)) d) |
(-.f64 a (neg.f64 (+.f64 (+.f64 b c) d))) |
(+.f64 (+.f64 b c) d) |
(+.f64 (+.f64 c d) b) |
(+.f64 b (+.f64 c d)) |
(+.f64 d (+.f64 b c)) |
(-.f64 (+.f64 b c) (neg.f64 d)) |
(-.f64 b (neg.f64 (+.f64 c d))) |
(+.f64 b c) |
(+.f64 c b) |
(-.f64 b (neg.f64 c)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64)))) |
(*.f64 b (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64))) |
(*.f64 (fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64)) b) |
(+.f64 (+.f64 b b) (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b)) |
(+.f64 (+.f64 b b) (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)))) |
(fma.f64 #s(literal 2 binary64) b (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b)) |
(fma.f64 b #s(literal 2 binary64) (*.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) b)) |
(fma.f64 #s(literal 2 binary64) b (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)))) |
(fma.f64 b #s(literal 2 binary64) (*.f64 b (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)))) |
(+.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) #s(literal 2 binary64)) |
(+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64))) |
(-.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))) |
(-.f64 #s(literal 2 binary64) (neg.f64 (*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)))) |
(fma.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64) #s(literal 2 binary64)) |
(fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) |
(*.f64 (/.f64 (+.f64 a (+.f64 c d)) b) #s(literal 2 binary64)) |
(*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) |
(+.f64 (/.f64 (+.f64 a (+.f64 c d)) b) (/.f64 (+.f64 a (+.f64 c d)) b)) |
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) b) |
(fma.f64 (+.f64 a (+.f64 c d)) (/.f64 #s(literal 1 binary64) b) (/.f64 (+.f64 a (+.f64 c d)) b)) |
(*.f64 (+.f64 a (+.f64 c d)) (/.f64 #s(literal 1 binary64) b)) |
(+.f64 (/.f64 a b) (/.f64 (+.f64 c d) b)) |
(/.f64 (+.f64 a (+.f64 c d)) b) |
(/.f64 (neg.f64 (+.f64 a (+.f64 c d))) (neg.f64 b)) |
(+.f64 a (+.f64 c d)) |
(+.f64 (+.f64 a c) d) |
(+.f64 (+.f64 c d) a) |
(-.f64 a (neg.f64 (+.f64 c d))) |
(+.f64 c d) |
(+.f64 d c) |
(-.f64 c (neg.f64 d)) |
(*.f64 #s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)))) #s(literal 2 binary64)) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)))) |
(*.f64 a (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a))) |
(*.f64 (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)) a) |
(+.f64 (*.f64 #s(literal 1 binary64) a) (*.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) a)) |
(+.f64 (*.f64 a #s(literal 1 binary64)) (*.f64 a (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)))) |
(fma.f64 #s(literal 1 binary64) a (*.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) a)) |
(fma.f64 a #s(literal 1 binary64) (*.f64 a (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)))) |
(+.f64 (+.f64 #s(literal 1 binary64) (/.f64 b a)) (/.f64 (+.f64 c d) a)) |
(+.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64)) |
(+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a))) |
(-.f64 #s(literal 1 binary64) (neg.f64 (+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)))) |
#s(literal 1 binary64) |
(cosh.f64 #s(literal 0 binary64)) |
(exp.f64 #s(literal 0 binary64)) |
(+.f64 (/.f64 b a) (/.f64 (+.f64 c d) a)) |
(+.f64 (+.f64 (/.f64 b a) (/.f64 c a)) (/.f64 d a)) |
(+.f64 (/.f64 (+.f64 c d) a) (/.f64 b a)) |
(-.f64 (/.f64 b a) (neg.f64 (/.f64 (+.f64 c d) a))) |
(fma.f64 b (/.f64 #s(literal 1 binary64) a) (/.f64 (+.f64 c d) a)) |
(*.f64 b (/.f64 #s(literal 1 binary64) a)) |
(/.f64 b a) |
(/.f64 (neg.f64 b) (neg.f64 a)) |
(+.f64 (/.f64 c a) (/.f64 d a)) |
(+.f64 (/.f64 d a) (/.f64 c a)) |
(-.f64 (/.f64 c a) (neg.f64 (/.f64 d a))) |
(/.f64 (+.f64 c d) a) |
(/.f64 (fma.f64 c a (*.f64 a d)) (*.f64 a a)) |
(/.f64 (fma.f64 c a (*.f64 d a)) (*.f64 a a)) |
(/.f64 (fma.f64 (/.f64 c a) a d) a) |
(fma.f64 c (/.f64 #s(literal 1 binary64) a) (/.f64 d a)) |
(fma.f64 d (/.f64 #s(literal 1 binary64) a) (/.f64 c a)) |
(*.f64 c (/.f64 #s(literal 1 binary64) a)) |
(/.f64 c a) |
(/.f64 (neg.f64 c) (neg.f64 a)) |
(*.f64 d (/.f64 #s(literal 1 binary64) a)) |
(/.f64 d a) |
(/.f64 (neg.f64 d) (neg.f64 a)) |
Compiled 8 628 to 1 624 computations (81.2% saved)
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 293 | 6 | 299 |
| Fresh | 7 | 2 | 9 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 0 | 0 |
| Total | 304 | 9 | 313 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.5% | (*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
| ▶ | 11.3% | (*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
| ▶ | 6.6% | #s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
| 96.0% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) | |
| ▶ | 11.3% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
| ▶ | 94.4% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
| 11.2% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) | |
| 11.2% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) | |
| ▶ | 100.0% | #s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))) |
Compiled 329 to 247 computations (24.9% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))) |
(fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(literal 2 binary64) |
b |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a d)) |
(+.f64 a d) |
a |
d |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
(+.f64 b b) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
(+.f64 a (+.f64 #s(approx (+ b c) c) d)) |
(+.f64 #s(approx (+ b c) c) d) |
#s(approx (+ b c) c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))) |
(+.f64 a #s(approx (+ b d) d)) |
#s(approx (+ b d) d) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
| Outputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)))) |
#s(approx (* 2 (+ a d)) (*.f64 #s(literal 2 binary64) d)) |
#s(approx (* 2 (+ a d)) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) d))) |
#s(approx (+ a d) d) |
#s(approx (+ a d) (+.f64 a d)) |
#s(approx a a) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 b (+.f64 c d))) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 b d))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b d)))) |
#s(approx (+ a (+ b d)) (+.f64 b d)) |
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d)))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal 2 binary64) (+.f64 c d))) |
#s(approx (* 2 (+ a (+ c d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 c d)))) |
#s(approx (+ a (+ c d)) (+.f64 c d)) |
#s(approx (+ a (+ c d)) (+.f64 a (+.f64 c d))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) a)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a)))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 d a))))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c a) (*.f64 #s(literal 2 binary64) (/.f64 d a)))))) |
#s(approx (* 2 (+ a d)) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 d a))))) |
#s(approx (+ a d) (*.f64 a (+.f64 #s(literal 1 binary64) (/.f64 d a)))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b d) a))))) |
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a)))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a))))) |
#s(approx (+ a (+ c d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 b d))) a)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d))) a)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) d)) a)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 d a)) #s(literal 2 binary64))))) |
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d a)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b d) a)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64))))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))) a)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 c d) a)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))) |
#s(approx b b) |
#s(approx (+ b b) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (+ b c) c) |
#s(approx (+ b c) (+.f64 b c)) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 b (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) |
#s(approx (+ (+ b c) d) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) |
#s(approx (+ b c) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 c b)))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))) |
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) |
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) b)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) b)) #s(literal 1 binary64))))) |
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c b)) #s(literal 1 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) b)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 c (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b c) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c)))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) |
#s(approx (+ (+ b c) d) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b c) (/.f64 d c))))) |
#s(approx (+ b c) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 b c)))) |
#s(approx (+ a (+ c d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c))))) |
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))) c)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a d) c)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) c)) #s(literal 1 binary64))))) |
#s(approx (+ b c) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b c)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b)))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) c (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) c)))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) c))) |
#s(approx (+ a (+ (+ b c) d)) (+.f64 a (+.f64 b c))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal 2 binary64) (+.f64 a b))) |
#s(approx (* 2 (+ a (+ b d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a b)))) |
#s(approx (+ a (+ b d)) (+.f64 a b)) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c)))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal 2 binary64) (+.f64 a c))) |
#s(approx (* 2 (+ a (+ c d))) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c)))) |
#s(approx (+ a (+ c d)) (+.f64 a c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d)))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a d) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 c d))))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a d) (*.f64 #s(literal 2 binary64) (/.f64 c d)))))) |
#s(approx (* 2 (+ a d)) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 a d))))) |
#s(approx (+ a d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 a d)))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) |
#s(approx (+ (+ b c) d) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b d) (/.f64 c d))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a b) d))))) |
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d))))) |
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d)))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d)))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d))))) |
#s(approx (+ a (+ c d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d))))) |
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a b))) d)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 b) (+ (* 2 c) (* 2 (+ a d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) c))) d)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 c) (* 2 (+ a d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) c)) d)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 a d)) #s(literal 2 binary64))))) |
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 a d)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ (+ b c) d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64))))) |
#s(approx (+ (+ b c) d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b c) d)) #s(literal 1 binary64))))) |
#s(approx (* 2 (+ a (+ b d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a b) d)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64))))) |
#s(approx (+ (* 2 b) (* 2 (+ a (+ c d)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))) d)) #s(literal 2 binary64))))) |
#s(approx (* 2 (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a c) d)) #s(literal 2 binary64))))) |
#s(approx (+ a (+ c d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 10.0ms | d | -inf |
| 1.0ms | a | -inf |
| 1.0ms | c | inf |
| 1.0ms | d | inf |
| 1.0ms | a | inf |
| Inputs |
|---|
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))) |
#s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))) |
(fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(literal 2 binary64) |
b |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a d)) |
(+.f64 a d) |
a |
d |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
(+.f64 b b) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
(+.f64 a (+.f64 #s(approx (+ b c) c) d)) |
(+.f64 #s(approx (+ b c) c) d) |
#s(approx (+ b c) c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))) |
(+.f64 a #s(approx (+ b d) d)) |
#s(approx (+ b d) d) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))) |
(+.f64 (fma.f64 b #s(literal 2 binary64) (+.f64 c c)) (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))) (+.f64 b b)) |
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)))) |
(-.f64 (+.f64 b b) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))))) |
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)))) |
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)) |
(fma.f64 b #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)))) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
b |
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d))) |
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a d)) (+.f64 c c)) |
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
(-.f64 (+.f64 c c) (*.f64 #s(literal -2 binary64) (+.f64 a d))) |
(-.f64 (+.f64 c c) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
(fma.f64 (+.f64 a d) #s(literal 2 binary64) (+.f64 c c)) |
(fma.f64 #s(literal 2 binary64) (+.f64 a d) (+.f64 c c)) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a d))) |
c |
(*.f64 #s(literal 2 binary64) (+.f64 a d)) |
(*.f64 (+.f64 a d) #s(literal 2 binary64)) |
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 d #s(literal 2 binary64))) |
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) d)) |
(+.f64 (+.f64 a d) (+.f64 a d)) |
(fma.f64 a #s(literal 2 binary64) (*.f64 d #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) d)) |
(+.f64 a d) |
(+.f64 d a) |
(-.f64 a (neg.f64 d)) |
a |
d |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
(*.f64 b #s(literal 2 binary64)) |
(*.f64 #s(literal 2 binary64) b) |
(+.f64 b b) |
(-.f64 b (neg.f64 b)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
(+.f64 a (+.f64 #s(approx (+ b c) c) d)) |
(+.f64 #s(approx (+ b c) c) d) |
#s(approx (+ b c) c) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))) |
(+.f64 a #s(approx (+ b d) d)) |
#s(approx (+ b d) d) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))) |
(+.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) (+.f64 b b)) |
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(-.f64 (+.f64 b b) (*.f64 #s(literal -2 binary64) (+.f64 a (+.f64 c d)))) |
(-.f64 (+.f64 b b) (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
(fma.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64) (+.f64 b b)) |
(fma.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)) (+.f64 b b)) |
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(fma.f64 b #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))) |
(*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64)) |
(+.f64 (+.f64 a (+.f64 c d)) (+.f64 a (+.f64 c d))) |
(+.f64 (*.f64 a #s(literal 2 binary64)) (*.f64 (+.f64 c d) #s(literal 2 binary64))) |
(+.f64 (*.f64 #s(literal 2 binary64) a) (*.f64 #s(literal 2 binary64) (+.f64 c d))) |
(fma.f64 a #s(literal 2 binary64) (*.f64 (+.f64 c d) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 c d))) |
(+.f64 a (+.f64 c d)) |
(+.f64 (+.f64 a c) d) |
(+.f64 (+.f64 c d) a) |
(-.f64 a (neg.f64 (+.f64 c d))) |
(+.f64 c d) |
(+.f64 d c) |
(-.f64 c (neg.f64 d)) |
Compiled 5 838 to 1 046 computations (82.1% saved)
9 alts after pruning (5 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 192 | 2 | 194 |
| Fresh | 0 | 3 | 3 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 1 | 1 |
| Total | 194 | 9 | 203 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.5% | (*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
| ✓ | 11.3% | (*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
| ✓ | 6.6% | #s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
| ▶ | 96.0% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
| ▶ | 94.4% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
| ▶ | 100.0% | #s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
| ✓ | 11.3% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
| ▶ | 11.2% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
| ▶ | 11.2% | #s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
Compiled 275 to 208 computations (24.4% saved)
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))) |
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)) |
#s(literal 2 binary64) |
(+.f64 c (+.f64 a d)) |
c |
(+.f64 a d) |
a |
d |
(+.f64 b b) |
b |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 #s(literal 2 binary64) c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))) |
(*.f64 #s(literal 2 binary64) (/.f64 c b)) |
(/.f64 c b) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))) |
(+.f64 b (+.f64 a (+.f64 c d))) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))) |
(+.f64 c (+.f64 a (+.f64 b d))) |
(+.f64 a (+.f64 b d)) |
(+.f64 b d) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) a (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 c d))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d)))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) a (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))))) |
#s(approx (+ c (+ a d)) (+.f64 c d)) |
#s(approx (+ c (+ a d)) (+.f64 a (+.f64 c d))) |
#s(approx (+ a d) d) |
#s(approx (+ a d) (+.f64 a d)) |
#s(approx a a) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) a (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 a b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) b))))) |
#s(approx (+ b (+ a (+ c d))) (+.f64 b (+.f64 c d))) |
#s(approx (+ b (+ a (+ c d))) (+.f64 a (+.f64 b (+.f64 c d)))) |
#s(approx (+ a (+ b d)) (+.f64 b d)) |
#s(approx (+ a (+ b d)) (+.f64 a (+.f64 b d))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) a)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 a (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b a) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 c d) a)))))) |
#s(approx (+ c (+ a d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 c a) (/.f64 d a))))) |
#s(approx (+ a d) (*.f64 a (+.f64 #s(literal 1 binary64) (/.f64 d a)))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 a (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 a b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 a (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 c b) (/.f64 d b)) a) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) a) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) |
#s(approx (+ a (+ b d)) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (/.f64 d a))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 c d))) a)) #s(literal 2 binary64))))) |
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 c d) a)) #s(literal 1 binary64))))) |
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d a)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b))))) a)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 c b) (/.f64 d b)))) a)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b (+.f64 c d)) a)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 b d) a)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
#s(approx (+ b b) (*.f64 #s(literal 2 binary64) b)) |
#s(approx b b) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) b)) |
#s(approx (* 2 (/ c b)) (*.f64 #s(literal 2 binary64) (/.f64 c b))) |
#s(approx (/ c b) (/.f64 c b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) #s(literal 2 binary64)) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) |
#s(approx (+ a (+ b d)) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) |
#s(approx (+ b d) (*.f64 b (+.f64 #s(literal 1 binary64) (/.f64 d b)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 2 binary64))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 c d)) b)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) b)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 b (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d b)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d)))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d))))) |
#s(approx c c) |
#s(approx (* 2 c) (*.f64 #s(literal 2 binary64) c)) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) c (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 c b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) b))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 c (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b c) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a d) c)))))) |
#s(approx (+ c (+ a d)) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (/.f64 d c))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 c (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 c (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 d b)) c) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) c)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) |
#s(approx (+ c d) (*.f64 c (+.f64 #s(literal 1 binary64) (/.f64 d c)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a d))) c)) #s(literal 2 binary64))))) |
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a d) c)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b))))) c)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 d b)))) c)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b d)) c)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 c (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 d c)) #s(literal 1 binary64))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b c))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c)))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) d (*.f64 #s(literal 2 binary64) (+.f64 a c))))) |
#s(approx (+ c (+ a d)) (+.f64 a c)) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (fma.f64 #s(literal 2 binary64) d (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 d b) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) b))))) |
#s(approx (+ b (+ a (+ c d))) (+.f64 a (+.f64 b c))) |
#s(approx (+ a (+ b d)) (+.f64 a b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) d)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 d (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) (/.f64 b d) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a c) d)))))) |
#s(approx (+ c (+ a d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 c d))))) |
#s(approx (+ a d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 a d)))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 d (+.f64 #s(literal 2 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 d b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 d (fma.f64 #s(literal 2 binary64) (/.f64 (+.f64 (/.f64 a b) (/.f64 c b)) d) (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) d)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) |
#s(approx (+ c d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 c d)))) |
#s(approx (+ a (+ b d)) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (/.f64 b d))))) |
#s(approx (+ b d) (*.f64 d (+.f64 #s(literal 1 binary64) (/.f64 b d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 2 binary64))))) |
#s(approx (+ (* 2 (+ c (+ a d))) (+ b b)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a c))) d)) #s(literal 2 binary64))))) |
#s(approx (+ c (+ a d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a c) d)) #s(literal 1 binary64))))) |
#s(approx (+ a d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 a d)) #s(literal 1 binary64))))) |
#s(approx (* b (+ 2 (* 2 (/ (+ a (+ c d)) b)))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b))))) d)) #s(literal 2 binary64))))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 a b) (/.f64 c b)))) d)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) b)))))) |
#s(approx (+ b (+ a (+ c d))) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a (+.f64 b c)) d)) #s(literal 1 binary64))))) |
#s(approx (+ c d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 c d)) #s(literal 1 binary64))))) |
#s(approx (+ a (+ b d)) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 a b) d)) #s(literal 1 binary64))))) |
#s(approx (+ b d) (*.f64 #s(literal -1 binary64) (*.f64 d (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 b d)) #s(literal 1 binary64))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 12.0ms | a | -inf |
| 10.0ms | d | 0 |
| 3.0ms | c | -inf |
| 3.0ms | c | inf |
| 3.0ms | b | -inf |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))) |
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)) |
#s(literal 2 binary64) |
(+.f64 c (+.f64 a d)) |
c |
(+.f64 a d) |
a |
d |
(+.f64 b b) |
b |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 #s(literal 2 binary64) c) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b)))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))) |
(*.f64 #s(literal 2 binary64) (/.f64 c b)) |
(/.f64 c b) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d)))) |
(+.f64 b (+.f64 a (+.f64 c d))) |
(+.f64 a (+.f64 c d)) |
(+.f64 c d) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
(*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d)))) |
(+.f64 c (+.f64 a (+.f64 b d))) |
(+.f64 a (+.f64 b d)) |
(+.f64 b d) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
#s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b))) |
(+.f64 (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)) (+.f64 b b)) |
(+.f64 (fma.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64) b) b) |
(+.f64 (+.f64 b b) (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64))) |
(-.f64 (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64)) (neg.f64 (+.f64 b b))) |
(fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)) |
(fma.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64) (+.f64 b b)) |
(fma.f64 #s(literal 2 binary64) b (*.f64 (+.f64 c (+.f64 a d)) #s(literal 2 binary64))) |
#s(literal 2 binary64) |
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(+.f64 c (+.f64 a d)) |
(+.f64 (+.f64 c a) d) |
(+.f64 (+.f64 a d) c) |
(-.f64 c (neg.f64 (+.f64 a d))) |
c |
(+.f64 a d) |
(+.f64 d a) |
(-.f64 a (neg.f64 d)) |
a |
d |
(*.f64 #s(literal 2 binary64) b) |
(+.f64 b b) |
(-.f64 b (neg.f64 b)) |
b |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
(*.f64 #s(literal 2 binary64) c) |
(*.f64 c #s(literal 2 binary64)) |
(+.f64 c c) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
(*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b))) |
#s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)) |
(*.f64 #s(literal 2 binary64) (/.f64 c b)) |
(*.f64 (/.f64 c b) #s(literal 2 binary64)) |
(+.f64 (/.f64 c b) (/.f64 c b)) |
(/.f64 (+.f64 c c) b) |
(fma.f64 c (/.f64 #s(literal 1 binary64) b) (/.f64 c b)) |
(*.f64 c (/.f64 #s(literal 1 binary64) b)) |
(/.f64 c b) |
(/.f64 (neg.f64 c) (neg.f64 b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 b a) (+.f64 c d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 b a) (+.f64 c d))) |
(*.f64 (+.f64 (+.f64 b a) (+.f64 c d)) #s(literal 2 binary64)) |
(+.f64 (+.f64 (+.f64 b a) (+.f64 c d)) (+.f64 (+.f64 b a) (+.f64 c d))) |
(+.f64 (*.f64 b #s(literal 2 binary64)) (*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64))) |
(+.f64 (+.f64 b b) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(fma.f64 b #s(literal 2 binary64) (*.f64 (+.f64 a (+.f64 c d)) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d)))) |
(+.f64 (+.f64 b a) (+.f64 c d)) |
(+.f64 b (+.f64 a (+.f64 c d))) |
(+.f64 (+.f64 a (+.f64 c d)) b) |
(-.f64 b (neg.f64 (+.f64 a (+.f64 c d)))) |
(+.f64 a (+.f64 c d)) |
(+.f64 (+.f64 a c) d) |
(+.f64 (+.f64 c d) a) |
(-.f64 a (neg.f64 (+.f64 c d))) |
(+.f64 c d) |
(+.f64 d c) |
(-.f64 c (neg.f64 d)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 (+.f64 c a) (+.f64 b d)))) |
(*.f64 #s(literal 2 binary64) (+.f64 (+.f64 c a) (+.f64 b d))) |
(*.f64 (+.f64 (+.f64 c a) (+.f64 b d)) #s(literal 2 binary64)) |
(+.f64 (+.f64 (+.f64 c a) (+.f64 b d)) (+.f64 (+.f64 c a) (+.f64 b d))) |
(+.f64 (+.f64 c c) (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64))) |
(+.f64 (+.f64 c c) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64))) |
(fma.f64 c #s(literal 2 binary64) (*.f64 (+.f64 a (+.f64 b d)) #s(literal 2 binary64))) |
(fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
(fma.f64 c #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d)))) |
(+.f64 (+.f64 c a) (+.f64 b d)) |
(+.f64 c (+.f64 a (+.f64 b d))) |
(+.f64 (+.f64 a (+.f64 b d)) c) |
(-.f64 c (neg.f64 (+.f64 a (+.f64 b d)))) |
(+.f64 a (+.f64 b d)) |
(+.f64 (+.f64 a b) d) |
(+.f64 (+.f64 b d) a) |
(-.f64 a (neg.f64 (+.f64 b d))) |
(+.f64 b d) |
(+.f64 d b) |
(-.f64 b (neg.f64 d)) |
Compiled 5 452 to 917 computations (83.2% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 180 | 3 | 183 |
| Fresh | 0 | 0 | 0 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 4 | 4 |
| Total | 183 | 9 | 192 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 95.5% | (*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
| ✓ | 11.3% | (*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
| 11.2% | #s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) | |
| ✓ | 6.6% | #s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
| 11.2% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) | |
| ✓ | 96.0% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
| 95.7% | #s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d)))) | |
| ✓ | 100.0% | #s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
| ✓ | 11.3% | #s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
Compiled 165 to 126 computations (23.6% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d)))) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d)))) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
| Inputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 b b)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (+.f64 c c)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) b)) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 #s(literal 2 binary64) c)) |
(*.f64 (+.f64 a #s(approx (+ b (+ c d)) (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 #s(approx (+ b c) c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (/.f64 (+.f64 c c) b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b #s(approx (+ 2 (* 2 (/ (+ a (+ c d)) b))) (*.f64 #s(literal 2 binary64) (/.f64 c b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a #s(approx (+ b d) d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 a (+.f64 c d))))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 b (+.f64 (+.f64 a c) d)))) |
#s(approx (* (+ a (+ (+ b c) d)) 2) (*.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a (+.f64 b d))))) |
(*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
(*.f64 (+.f64 a (+.f64 (+.f64 b c) d)) #s(literal 2 binary64)) |
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) b (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 c d))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a (+.f64 b d))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) #s(approx (+ (* 2 c) (* 2 (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) b (fma.f64 #s(literal 2 binary64) c (*.f64 #s(literal 2 binary64) (+.f64 a d)))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 a (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 b (+.f64 c d)) a))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 b (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 c d)) b))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 c (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b d)) c))))) |
#s(approx (* (+ a (+ b (+ c d))) 2) (*.f64 d (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 (+.f64 a (+.f64 b c)) d))))) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 a (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 b a) (+.f64 (/.f64 c a) (/.f64 d a)))))) #s(literal 2 binary64)) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 b (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a b) (+.f64 (/.f64 c b) (/.f64 d b)))))) #s(literal 2 binary64)) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 c (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a c) (+.f64 (/.f64 b c) (/.f64 d c)))))) #s(literal 2 binary64)) |
(*.f64 #s(approx (+ a (+ b (+ c d))) (*.f64 d (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 a d) (+.f64 (/.f64 b d) (/.f64 c d)))))) #s(literal 2 binary64)) |
| Outputs |
|---|
#s(approx (* (+ a (+ (+ b c) d)) 2) #s(approx (* 2 (+ c (+ a (+ b d)))) (fma.f64 #s(literal 2 binary64) (+.f64 c (+.f64 a d)) (+.f64 b b)))) |
50 calls:
| 110.0ms | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 10.0ms | b |
| 8.0ms | d |
| 7.0ms | c |
| 7.0ms | (+.f64 b (+.f64 c d)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 6.6% | 1 | b |
| 6.6% | 1 | a |
| 6.6% | 1 | c |
| 6.6% | 1 | d |
| 6.6% | 1 | (+.f64 c d) |
| 6.6% | 1 | (+.f64 b (+.f64 c d)) |
| 6.6% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 6.6% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 16.3% | 2 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 16.3% | 2 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 13.6% | 2 | (+.f64 c d) |
| 14.2% | 2 | (+.f64 b (+.f64 c d)) |
| 11.3% | 1 | a |
| 11.3% | 1 | b |
| 11.3% | 1 | c |
| 11.3% | 1 | d |
| 16.4% | 2 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 16.4% | 2 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 94.4% | 1 | c |
| 94.4% | 1 | b |
| 94.4% | 1 | a |
| 94.4% | 1 | (+.f64 b (+.f64 c d)) |
| 94.4% | 1 | d |
| 94.4% | 1 | (+.f64 c d) |
| 94.4% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 94.4% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 95.7% | 1 | b |
| 95.7% | 1 | c |
| 95.7% | 1 | a |
| 95.7% | 1 | d |
| 95.7% | 1 | (+.f64 c d) |
| 95.7% | 1 | (+.f64 b (+.f64 c d)) |
| 95.7% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 95.7% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 96.0% | 1 | (+.f64 c d) |
| 96.0% | 1 | (+.f64 b (+.f64 c d)) |
| 96.0% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 96.0% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 96.0% | 1 | a |
| 96.0% | 1 | b |
| 96.0% | 1 | c |
| 96.0% | 1 | d |
| 100.0% | 1 | (+.f64 c d) |
| 100.0% | 1 | (+.f64 b (+.f64 c d)) |
| 100.0% | 1 | (+.f64 a (+.f64 b (+.f64 c d))) |
| 100.0% | 1 | (*.f64 (+.f64 a (+.f64 b (+.f64 c d))) #s(literal 2 binary64)) |
| 100.0% | 1 | a |
| 100.0% | 1 | b |
| 100.0% | 1 | c |
| 100.0% | 1 | d |
Compiled 710 to 423 computations (40.4% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.01938547018038861 | 0.008905400967755384 |
Compiled 12 to 16 computations (-33.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -0.01938547018038861 | 0.008905400967755384 |
Compiled 12 to 16 computations (-33.3% saved)
| 1× | fuel |
Compiled 176 to 50 computations (71.6% saved)
(sort b c d)
Compiled 548 to 311 computations (43.2% saved)
Loading profile data...