
Time bar (total: 3.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 100% | 99.7% | 0% | 0.3% | 0% | 0% | 0% | 1 |
Compiled 19 to 19 computations (0% saved)
| 1.1s | 8 256× | 0 | valid |
ival-mult!: 250.0ms (56.4% of total)ival-div!: 125.0ms (28.2% of total)ival-add!: 34.0ms (7.7% of total)ival-sub!: 32.0ms (7.2% of total)adjust: 1.0ms (0.2% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 167 | 631 |
| 1 | 676 | 612 |
| 2 | 2929 | 612 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 98.8% | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
(sort x y)
(sort z t)
(sort a b)
Compiled 34 to 34 computations (0% saved)
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
(*.f64 x y) |
x |
y |
(/.f64 (*.f64 z t) #s(literal 16 binary64)) |
(*.f64 z t) |
z |
t |
#s(literal 16 binary64) |
(/.f64 (*.f64 a b) #s(literal 4 binary64)) |
(*.f64 a b) |
a |
b |
#s(literal 4 binary64) |
c |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* x y) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* x (- (+ y (* 1/16 (/ (* t z) x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* y (- (+ x (* 1/16 (/ (* t z) y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (* z t) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ (* x y) z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (* x y) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ (* x y) t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (* x y) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (/ (* a b) 4) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (* a b) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) a)) (* -1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) b)) (* -1/4 a)))))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a | @ | 0 | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (+ (* x y) (/ (* z t) 16)) (* x y) x y (/ (* z t) 16) (* z t) z t 16 (/ (* a b) 4) (* a b) a b 4 c) |
| 2.0ms | y | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (+ (* x y) (/ (* z t) 16)) (* x y) x y (/ (* z t) 16) (* z t) z t 16 (/ (* a b) 4) (* a b) a b 4 c) |
| 1.0ms | x | @ | inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (+ (* x y) (/ (* z t) 16)) (* x y) x y (/ (* z t) 16) (* z t) z t 16 (/ (* a b) 4) (* a b) a b 4 c) |
| 1.0ms | x | @ | 0 | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (+ (* x y) (/ (* z t) 16)) (* x y) x y (/ (* z t) 16) (* z t) z t 16 (/ (* a b) 4) (* a b) a b 4 c) |
| 1.0ms | t | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (+ (* x y) (/ (* z t) 16)) (* x y) x y (/ (* z t) 16) (* z t) z t 16 (/ (* a b) 4) (* a b) a b 4 c) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 276 | 1654 |
| 0 | 286 | 1592 |
| 1 | 1887 | 1576 |
| 0 | 8446 | 1427 |
| 1 | 29194 | 1427 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
(-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
(+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
(*.f64 x y) |
x |
y |
(/.f64 (*.f64 z t) #s(literal 16 binary64)) |
(*.f64 z t) |
z |
t |
#s(literal 16 binary64) |
(/.f64 (*.f64 a b) #s(literal 4 binary64)) |
(*.f64 a b) |
a |
b |
#s(literal 4 binary64) |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* x y) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* x (- (+ y (* 1/16 (/ (* t z) x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* y (- (+ x (* 1/16 (/ (* t z) y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (* z t) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ (* x y) z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (* x y) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ (* x y) t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (* x y) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* x y) (/ (* z t) 16)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (/ (* a b) 4) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (* a b) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) a)) (* -1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) b)) (* -1/4 a)))))) |
#s(approx c #s(hole binary64 c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
| Outputs |
|---|
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c))) |
(-.f64 (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) c)) |
(-.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) (neg.f64 c)) |
(-.f64 c (neg.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))))) |
(+.f64 (+.f64 c (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(+.f64 (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(+.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c) |
(+.f64 c (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 b a) #s(literal -1/4 binary64) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 y x (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 x y (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(-.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 b a)) (neg.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(+.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) (*.f64 y x)) |
(+.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 b a)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(+.f64 (*.f64 y x) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 y x)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (*.f64 y x)) |
(fma.f64 y x (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 x y (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 (neg.f64 x) y)) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (neg.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(*.f64 y x) |
(*.f64 x y) |
x |
y |
(*.f64 (*.f64 #s(literal 1/16 binary64) t) z) |
(*.f64 (*.f64 t z) #s(literal 1/16 binary64)) |
(*.f64 #s(literal 1/16 binary64) (*.f64 t z)) |
(*.f64 z (/.f64 t #s(literal 16 binary64))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 t z))) #s(literal 16 binary64)) |
(/.f64 (neg.f64 (*.f64 t z)) #s(literal -16 binary64)) |
(/.f64 (*.f64 t z) #s(literal 16 binary64)) |
(*.f64 t z) |
(*.f64 z t) |
z |
t |
#s(literal 16 binary64) |
(*.f64 (*.f64 #s(literal 1/4 binary64) a) b) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
(*.f64 (*.f64 b a) #s(literal 1/4 binary64)) |
(*.f64 a (/.f64 b #s(literal 4 binary64))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 b a))) #s(literal 4 binary64)) |
(/.f64 (neg.f64 (*.f64 b a)) #s(literal -4 binary64)) |
(/.f64 (*.f64 b a) #s(literal 4 binary64)) |
(*.f64 b a) |
(*.f64 a b) |
a |
b |
#s(literal 4 binary64) |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
#s(approx (* x y) (*.f64 y x)) |
#s(approx x x) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 y (/.f64 (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) x)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (+.f64 y (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) x)) x)) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) x) #s(literal 1/16 binary64) y) x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) (neg.f64 y)))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) x)) (neg.f64 y)))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 t z) x) (neg.f64 y)))) |
#s(approx y y) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 x (/.f64 (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) y)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (+.f64 x (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) y)) y)) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) y) #s(literal 1/16 binary64) x) y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) (neg.f64 x)))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) y)) (neg.f64 x)))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 t z) y) #s(literal -1/16 binary64) (neg.f64 x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
#s(approx (* z t) (*.f64 t z)) |
#s(approx z z) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z)) z)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) z)) z)) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (*.f64 y x) z)) z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z))) z))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) z))) z))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (*.f64 y x) z))) z))) |
#s(approx t t) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t)) t)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) t)) t)) |
#s(approx (+ (* x y) (/ (* z t) 16)) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (*.f64 y x) t)) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t))) t))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) t))) t))) |
#s(approx (+ (* x y) (/ (* z t) 16)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (*.f64 y x) t))) t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (/ (* a b) 4) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
#s(approx (* a b) (*.f64 b a)) |
#s(approx a a) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx b b) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx c c) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) #s(literal 1 binary64)) c))) |
Compiled 1 088 to 440 computations (59.6% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 107 | 4 | 111 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 108 | 4 | 112 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 67.5% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| ▶ | 76.8% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| ▶ | 72.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
| ▶ | 29.8% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
Compiled 92 to 92 computations (0% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
#s(literal -1/4 binary64) |
(*.f64 b a) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(fma.f64 y x c) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
#s(literal 1/4 binary64) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- c (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* y x) c) #s(hole binary64 c)) |
#s(approx (+ (* y x) c) #s(hole binary64 (+ c (* x y)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* x (- (+ y (/ c x)) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* x (+ y (/ c x))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- c (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ c x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* y (- (+ x (/ c y)) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* y (+ x (/ c y))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- c (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ c y))))))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ c z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- c (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ c t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- c (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (* -1/4 (* b a)) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (* b a) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* x y))))) |
#s(approx (* 1/4 (* b a)) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* 1/16 (* t z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (/ c a) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ c a)) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* x y)) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* 1/16 (* t z))) a)) (* -1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (/ c b) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ c b)) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* x y)) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* 1/16 (* t z))) b)) (* -1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (/ (* x y) c)) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* c (+ 1 (/ (* x y) c))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (* 1/16 (/ (* t z) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* x y) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (* x y) c)) 1))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 19.0ms | z | @ | 0 | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* -1/4 (* b a)) -1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* t z) 1/16) c)) |
| 1.0ms | b | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* -1/4 (* b a)) -1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* t z) 1/16) c)) |
| 1.0ms | a | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* -1/4 (* b a)) -1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* t z) 1/16) c)) |
| 1.0ms | a | @ | 0 | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* -1/4 (* b a)) -1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* t z) 1/16) c)) |
| 1.0ms | x | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* -1/4 (* b a)) -1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* t z) 1/16) c)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 427 | 2433 |
| 0 | 445 | 2243 |
| 1 | 2897 | 2239 |
| 0 | 8965 | 2159 |
| 1 | 30000 | 2159 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
#s(literal -1/4 binary64) |
(*.f64 b a) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(fma.f64 y x c) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
#s(literal 1/4 binary64) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- c (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* y x) c) #s(hole binary64 c)) |
#s(approx (+ (* y x) c) #s(hole binary64 (+ c (* x y)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* x (- (+ y (/ c x)) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* x (+ y (/ c x))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- c (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ c x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* y (- (+ x (/ c y)) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* y (+ x (/ c y))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- c (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ c y))))))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ c z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- c (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ c t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- c (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (* -1/4 (* b a)) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (* b a) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* x y))))) |
#s(approx (* 1/4 (* b a)) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* 1/16 (* t z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (/ c a) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ c a)) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* x y)) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* 1/16 (* t z))) a)) (* -1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (/ c b) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ c b)) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* x y)) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* 1/16 (* t z))) b)) (* -1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (/ (* x y) c)) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* c (+ 1 (/ (* x y) c))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (* 1/16 (/ (* t z) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* x y) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (* x y) c)) 1))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(*.f64 (*.f64 #s(literal -1/4 binary64) a) b) |
(*.f64 (*.f64 #s(literal -1/4 binary64) b) a) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
(*.f64 (*.f64 b a) #s(literal -1/4 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 b a) |
(*.f64 a b) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (fma.f64 y x c)) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (fma.f64 y x c)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (fma.f64 y x c)) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (neg.f64 c)) |
(-.f64 c (neg.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (fma.f64 y x c)) |
(+.f64 c (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 y x)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (*.f64 y x)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (*.f64 y x)) |
(fma.f64 y x (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 x y (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 (neg.f64 x) y)) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 (neg.f64 y) x)) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (neg.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(*.f64 t z) |
(*.f64 z t) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
(*.f64 x y) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (fma.f64 y x c))) |
(fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 x y (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(-.f64 c (neg.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
(+.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) c) |
(+.f64 (fma.f64 y x c) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (fma.f64 y x c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(+.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) (*.f64 y x)) |
(+.f64 c (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
(+.f64 (*.f64 y x) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 y x c) |
(fma.f64 x y c) |
(-.f64 c (*.f64 (neg.f64 x) y)) |
(-.f64 c (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (neg.f64 c)) |
(+.f64 c (*.f64 y x)) |
(+.f64 (*.f64 y x) c) |
(*.f64 (*.f64 #s(literal 1/4 binary64) a) b) |
(*.f64 (*.f64 #s(literal 1/4 binary64) b) a) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
(*.f64 (*.f64 b a) #s(literal 1/4 binary64)) |
(*.f64 a (/.f64 b #s(literal 4 binary64))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 b a))) #s(literal 4 binary64)) |
(/.f64 (neg.f64 (*.f64 b a)) #s(literal -4 binary64)) |
(/.f64 (*.f64 b a) #s(literal 4 binary64)) |
#s(literal 1/4 binary64) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(-.f64 c (neg.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
(+.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) c) |
(+.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 c (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) c) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) c) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 c)) |
(-.f64 c (*.f64 #s(literal -1/16 binary64) (*.f64 t z))) |
(-.f64 c (neg.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) c) |
(+.f64 c (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
#s(approx (* y x) (*.f64 y x)) |
#s(approx x x) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (* y x) c) c) |
#s(approx (+ (* y x) c) (fma.f64 y x c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 y (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) x)) x)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) x) y) x)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) x) #s(literal 1/16 binary64) y) x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 y (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) x)) |
#s(approx (+ (* y x) c) (*.f64 (+.f64 (/.f64 c x) y) x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) x)) (neg.f64 y)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) x)) (neg.f64 y)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 t z) x) (neg.f64 y)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) (neg.f64 y)))) |
#s(approx (+ (* y x) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 c x)) (neg.f64 y)))) |
#s(approx y y) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 x (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) y)) y)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) y) x) y)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) y) #s(literal 1/16 binary64) x) y)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 x (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) y)) |
#s(approx (+ (* y x) c) (*.f64 (+.f64 (/.f64 c y) x) y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) y)) (neg.f64 x)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) y)) (neg.f64 x)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 t z) y) #s(literal -1/16 binary64) (neg.f64 x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) (neg.f64 x)))) |
#s(approx (+ (* y x) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 c y)) (neg.f64 x)))) |
#s(approx (* t z) (*.f64 t z)) |
#s(approx z z) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) z)) z)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x c) z)) z)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (*.f64 y x) z)) z)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z)) z)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 c z)) z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) z))) z))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x c) z))) z))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (*.f64 y x) z))) z))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z))) z))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 c z))) z))) |
#s(approx t t) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) t)) t)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x c) t)) t)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (*.f64 y x) t)) t)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t)) t)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 c t)) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) t))) t))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x c) t))) t))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (*.f64 y x) t))) t))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t))) t))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 c t))) t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (* -1/4 (* b a)) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (* b a) (*.f64 b a)) |
#s(approx a a) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (* 1/4 (* b a)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 y x c) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 y x c) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx b b) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 y x c) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 y x c) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) c)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) #s(literal 1 binary64)) c)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) c)) c)) |
#s(approx (+ (* y x) c) (*.f64 (fma.f64 x (/.f64 y c) #s(literal 1 binary64)) c)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) c)) c)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal 1/16 binary64) #s(literal 1 binary64)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) #s(literal 1 binary64)) c))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (* y x) c) (neg.f64 (*.f64 (neg.f64 (fma.f64 x (/.f64 y c) #s(literal 1 binary64))) c))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal -1/16 binary64) #s(literal -1 binary64)) c))) |
Compiled 1 653 to 734 computations (55.6% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 181 | 5 | 186 |
| Fresh | 0 | 0 | 0 |
| Picked | 3 | 1 | 4 |
| Done | 0 | 0 | 0 |
| Total | 184 | 6 | 190 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 72.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
| ▶ | 45.0% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| ✓ | 29.8% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
| ▶ | 52.1% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
| ▶ | 61.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
| ▶ | 40.6% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
Compiled 295 to 295 computations (0% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(fma.f64 y x c) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
#s(approx (+ (* y x) c) c) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
#s(literal 1/4 binary64) |
(*.f64 b a) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) |
(*.f64 #s(literal -1/4 binary64) a) |
#s(literal -1/4 binary64) |
(*.f64 y x) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(*.f64 #s(literal 1/16 binary64) t) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* y x) c) #s(hole binary64 c)) |
#s(approx (+ (* y x) c) #s(hole binary64 (+ c (* x y)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- c (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (+ (* -1/4 (* a b)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* x (+ y (/ c x))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* x (- (+ y (/ c x)) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* x (+ y (* -1/4 (/ (* a b) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ c x))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- c (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 1/4 (/ (* a b) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* y (+ x (/ c y))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* y (- (+ x (/ c y)) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* y (+ x (* -1/4 (/ (* a b) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ c y))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- c (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 1/4 (/ (* a b) y))))))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (+ (* -1/4 (* a b)) (* 1/16 (* t z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ c z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* z (+ (* -1/4 (/ (* a b) z)) (* 1/16 t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- c (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1/16 t) (* 1/4 (/ (* a b) z))))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (* 1/16 t) #s(hole binary64 (* 1/16 t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ c t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* t (+ (* -1/4 (/ (* a b) t)) (* 1/16 z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- c (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1/16 z) (* 1/4 (/ (* a b) t))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* x y))))) |
#s(approx (* 1/4 (* b a)) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (* b a) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (* -1/4 a) #s(hole binary64 (* -1/4 a))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* 1/16 (* t z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (/ c a) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* a (+ (* -1/4 b) (/ (* x y) a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ c a)) (* 1/4 b))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* a (+ (* -1/4 b) (* 1/16 (/ (* t z) a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* x y)) a)) (* -1/4 b)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ (* x y) a)) (* 1/4 b)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* 1/16 (* t z))) a)) (* -1/4 b)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* a (+ (* -1/16 (/ (* t z) a)) (* 1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (/ c b) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* b (+ (* -1/4 a) (/ (* x y) b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ c b)) (* 1/4 a))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* b (+ (* -1/4 a) (* 1/16 (/ (* t z) b)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* x y)) b)) (* -1/4 a)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* b (+ (* -1 (/ (* x y) b)) (* 1/4 a)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* 1/16 (* t z))) b)) (* -1/4 a)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* b (+ (* -1/16 (/ (* t z) b)) (* 1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* c (+ 1 (/ (* x y) c))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (/ (* x y) c)) (* 1/4 (/ (* a b) c)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (* 1/16 (/ (* t z) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (* x y) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* x y) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) c)) 1))))) |
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 12.0ms | a | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (* t z) t z 1/16 (+ (* y x) c) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) c) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* (* -1/4 a) b) (* y x)) (* -1/4 a) -1/4 (* y x) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (* 1/16 t) (* -1/4 (* b a))) |
| 5.0ms | x | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (* t z) t z 1/16 (+ (* y x) c) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) c) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* (* -1/4 a) b) (* y x)) (* -1/4 a) -1/4 (* y x) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (* 1/16 t) (* -1/4 (* b a))) |
| 2.0ms | a | @ | inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (* t z) t z 1/16 (+ (* y x) c) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) c) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* (* -1/4 a) b) (* y x)) (* -1/4 a) -1/4 (* y x) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (* 1/16 t) (* -1/4 (* b a))) |
| 1.0ms | b | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (* t z) t z 1/16 (+ (* y x) c) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) c) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* (* -1/4 a) b) (* y x)) (* -1/4 a) -1/4 (* y x) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (* 1/16 t) (* -1/4 (* b a))) |
| 1.0ms | t | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (* t z) t z 1/16 (+ (* y x) c) y x c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* t z) 1/16) c) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* y x) c) (* 1/4 (* b a)) 1/4 (* b a) b a (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* y x) c) (* 1/4 (* b a))) (+ (* (* -1/4 a) b) (* y x)) (* -1/4 a) -1/4 (* y x) (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (* 1/16 t) (* -1/4 (* b a))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 474 | 2821 |
| 0 | 488 | 2587 |
| 1 | 3211 | 2581 |
| 0 | 9646 | 2539 |
| 1 | 32559 | 2539 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(fma.f64 y x c) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
#s(approx (+ (* y x) c) c) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
#s(literal 1/4 binary64) |
(*.f64 b a) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) |
(*.f64 #s(literal -1/4 binary64) a) |
#s(literal -1/4 binary64) |
(*.f64 y x) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
(*.f64 #s(literal 1/16 binary64) t) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* y x) c) #s(hole binary64 c)) |
#s(approx (+ (* y x) c) #s(hole binary64 (+ c (* x y)))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- c (* 1/4 (* a b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (+ (* -1/4 (* a b)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* x (+ y (/ c x))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* x (- (+ y (/ c x)) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* x (+ y (* -1/4 (/ (* a b) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ c x))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- c (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* 1/4 (/ (* a b) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* y (+ x (/ c y))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* y (- (+ x (/ c y)) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* y (+ x (* -1/4 (/ (* a b) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ c y))))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- c (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* 1/4 (/ (* a b) y))))))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (+ (* -1/4 (* a b)) (* 1/16 (* t z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* z (- (+ (* 1/16 t) (/ c z)) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* z (+ (* -1/4 (/ (* a b) z)) (* 1/16 t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- c (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* z (+ (* -1/16 t) (* 1/4 (/ (* a b) z))))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (* 1/16 t) #s(hole binary64 (* 1/16 t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* t (- (+ (* 1/16 z) (/ c t)) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* t (+ (* -1/4 (/ (* a b) t)) (* 1/16 z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- c (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* t (+ (* -1/16 z) (* 1/4 (/ (* a b) t))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* x y))))) |
#s(approx (* 1/4 (* b a)) #s(hole binary64 (* 1/4 (* a b)))) |
#s(approx (* b a) #s(hole binary64 (* a b))) |
#s(approx a #s(hole binary64 a)) |
#s(approx (* -1/4 a) #s(hole binary64 (* -1/4 a))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (* 1/16 (* t z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (/ c a) (/ (* x y) a)) (* 1/4 b))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* a (+ (* -1/4 b) (/ (* x y) a))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (/ c a)) (* 1/4 b))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* a (+ (* -1/4 b) (* 1/16 (/ (* t z) a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* x y)) a)) (* -1/4 b)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* a (+ (* -1 (/ (* x y) a)) (* 1/4 b)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (* 1/16 (* t z))) a)) (* -1/4 b)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* a (+ (* -1/16 (/ (* t z) a)) (* 1/4 b)))))) |
#s(approx b #s(hole binary64 b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (/ c b) (/ (* x y) b)) (* 1/4 a))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* b (+ (* -1/4 a) (/ (* x y) b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (/ c b)) (* 1/4 a))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* b (+ (* -1/4 a) (* 1/16 (/ (* t z) b)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* x y)) b)) (* -1/4 a)))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) #s(hole binary64 (* -1 (* b (+ (* -1 (/ (* x y) b)) (* 1/4 a)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (* 1/16 (* t z))) b)) (* -1/4 a)))))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) #s(hole binary64 (* -1 (* b (+ (* -1/16 (/ (* t z) b)) (* 1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (- (* x y) (* 1/4 (* a b))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (- (* 1/16 (* t z)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* c (+ 1 (/ (* x y) c))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (/ (* x y) c)) (* 1/4 (/ (* a b) c)))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* c (- (+ 1 (* 1/16 (/ (* t z) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (+ (* y x) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (* x y) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* x y) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (* 1/16 (* t z)) (* 1/4 (* a b))) c)) 1))))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (fma.f64 y x c)) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (fma.f64 y x c)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (fma.f64 y x c)) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) (fma.f64 y x c)) |
(-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) (neg.f64 c)) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 (fma.f64 y x c))) |
(-.f64 c (neg.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) |
(+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (fma.f64 y x c)) |
(+.f64 (fma.f64 y x c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(+.f64 c (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(*.f64 t z) |
(*.f64 z t) |
t |
z |
#s(literal 1/16 binary64) |
(fma.f64 y x c) |
(fma.f64 x y c) |
(-.f64 c (*.f64 (neg.f64 x) y)) |
(-.f64 c (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (neg.f64 c)) |
(+.f64 c (*.f64 y x)) |
(+.f64 (*.f64 y x) c) |
y |
x |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c)) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) c) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) c) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) c) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 c)) |
(-.f64 c (*.f64 #s(literal -1/16 binary64) (*.f64 t z))) |
(-.f64 c (neg.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) c) |
(+.f64 c (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) #s(approx (+ (* y x) c) c))) |
(-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(+.f64 #s(approx (+ (* y x) c) c) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 #s(approx (+ (* y x) c) c) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
#s(approx (+ (* y x) c) c) |
(*.f64 (*.f64 #s(literal 1/4 binary64) a) b) |
(*.f64 (*.f64 #s(literal 1/4 binary64) b) a) |
(*.f64 #s(literal 1/4 binary64) (*.f64 b a)) |
(*.f64 (*.f64 b a) #s(literal 1/4 binary64)) |
(*.f64 a (/.f64 b #s(literal 4 binary64))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 b a))) #s(literal 4 binary64)) |
(/.f64 (neg.f64 (*.f64 b a)) #s(literal -4 binary64)) |
(/.f64 (*.f64 b a) #s(literal 4 binary64)) |
#s(literal 1/4 binary64) |
(*.f64 b a) |
(*.f64 a b) |
b |
a |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) b) a (*.f64 y x)) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (*.f64 y x)) |
(fma.f64 (*.f64 b a) #s(literal -1/4 binary64) (*.f64 y x)) |
(fma.f64 b (*.f64 #s(literal -1/4 binary64) a) (*.f64 y x)) |
(fma.f64 y x (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 y x (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 x y (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 x y (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (*.f64 (neg.f64 x) y)) |
(-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (*.f64 (neg.f64 y) x)) |
(-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(+.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (*.f64 y x) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(*.f64 #s(literal -1/4 binary64) a) |
(*.f64 a #s(literal -1/4 binary64)) |
#s(literal -1/4 binary64) |
(*.f64 y x) |
(*.f64 x y) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b))) |
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 t z)) #s(literal -4 binary64)) (*.f64 #s(literal -16 binary64) (neg.f64 (*.f64 b a)))) #s(literal 64 binary64)) |
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 t z)) #s(literal 4 binary64)) (*.f64 #s(literal -16 binary64) (*.f64 b a))) #s(literal -64 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 t z) #s(literal -4 binary64)) (*.f64 #s(literal 16 binary64) (neg.f64 (*.f64 b a)))) #s(literal -64 binary64)) |
(/.f64 (-.f64 (*.f64 (*.f64 t z) #s(literal 4 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 b a))) #s(literal 64 binary64)) |
(neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)) (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) b) a (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 (*.f64 b a) #s(literal -1/4 binary64) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 b (*.f64 #s(literal -1/4 binary64) a) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (*.f64 #s(literal -1/16 binary64) (*.f64 t z))) |
(-.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (neg.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)))) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b))) |
(-.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
(+.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) a) b) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (neg.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (*.f64 (*.f64 t z) #s(literal 1/16 binary64)) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
(*.f64 #s(literal 1/16 binary64) t) |
(*.f64 t #s(literal 1/16 binary64)) |
(*.f64 (*.f64 #s(literal -1/4 binary64) b) a) |
(*.f64 (*.f64 #s(literal -1/4 binary64) a) b) |
(*.f64 #s(literal -1/4 binary64) (*.f64 b a)) |
(*.f64 (*.f64 b a) #s(literal -1/4 binary64)) |
(*.f64 b (*.f64 #s(literal -1/4 binary64) a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (* y x) c) c) |
#s(approx (+ (* y x) c) (fma.f64 y x c)) |
#s(approx x x) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
#s(approx (* y x) (*.f64 y x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 y (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) x)) x)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) x) y) x)) |
#s(approx (+ (* y x) c) (*.f64 (+.f64 (/.f64 c x) y) x)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 y (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) x)) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 b a) x) #s(literal -1/4 binary64) y) x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) x)) (neg.f64 y)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) x)) (neg.f64 y)))) |
#s(approx (+ (* y x) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 c x)) (neg.f64 y)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) (neg.f64 y)))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (neg.f64 x) (fma.f64 (/.f64 (*.f64 b a) x) #s(literal 1/4 binary64) (neg.f64 y)))) |
#s(approx y y) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 x (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) y)) y)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) y) x) y)) |
#s(approx (+ (* y x) c) (*.f64 (+.f64 (/.f64 c y) x) y)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 x (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) y)) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 b a) y) #s(literal -1/4 binary64) x) y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) y)) (neg.f64 x)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) y)) (neg.f64 x)))) |
#s(approx (+ (* y x) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 c y)) (neg.f64 x)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) (neg.f64 x)))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 b a) y) #s(literal 1/4 binary64) (neg.f64 x)))) |
#s(approx (* t z) (*.f64 t z)) |
#s(approx z z) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) z)) z)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x c) z)) z)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 c z)) z)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z)) z)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (*.f64 (fma.f64 (/.f64 (*.f64 b a) z) #s(literal -1/4 binary64) (*.f64 #s(literal 1/16 binary64) t)) z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) z))) z))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x c) z))) z))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 c z))) z))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z))) z))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (*.f64 (/.f64 (*.f64 b a) z) #s(literal 1/4 binary64))) z))) |
#s(approx t t) |
#s(approx (* 1/16 t) (*.f64 #s(literal 1/16 binary64) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) t)) t)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x c) t)) t)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 c t)) t)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t)) t)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (*.f64 (fma.f64 (/.f64 (*.f64 b a) t) #s(literal -1/4 binary64) (*.f64 #s(literal 1/16 binary64) z)) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) t))) t))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x c) t))) t))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 c t))) t))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t))) t))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 b a) t) #s(literal 1/4 binary64) (*.f64 #s(literal -1/16 binary64) z)) t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 y x (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (* 1/4 (* b a)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) |
#s(approx (* b a) (*.f64 b a)) |
#s(approx a a) |
#s(approx (* -1/4 a) (*.f64 #s(literal -1/4 binary64) a)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (-.f64 c (*.f64 #s(literal 1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 y x c) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (fma.f64 #s(literal -1/4 binary64) b (/.f64 (*.f64 y x) a)) a)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (*.f64 (fma.f64 (/.f64 (*.f64 t z) a) #s(literal 1/16 binary64) (*.f64 #s(literal -1/4 binary64) b)) a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 y x c) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) b (neg.f64 (/.f64 (*.f64 y x) a))) a))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 t z) a) #s(literal -1/16 binary64) (*.f64 #s(literal 1/4 binary64) b)) a))) |
#s(approx b b) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 y x c) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (*.f64 (fma.f64 #s(literal -1/4 binary64) a (/.f64 (*.f64 y x) b)) b)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (*.f64 (fma.f64 (/.f64 (*.f64 t z) b) #s(literal 1/16 binary64) (*.f64 #s(literal -1/4 binary64) a)) b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c)) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 y x c) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (+ (* (* -1/4 a) b) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) a (neg.f64 (/.f64 (*.f64 y x) b))) b))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (+ (* (* 1/16 t) z) (* -1/4 (* b a))) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 t z) b) #s(literal -1/16 binary64) (*.f64 #s(literal 1/4 binary64) a)) b))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) c)) c)) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (*.f64 (+.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c) #s(literal 1 binary64)) c)) |
#s(approx (+ (* y x) c) (*.f64 (fma.f64 x (/.f64 y c) #s(literal 1 binary64)) c)) |
#s(approx (+ (* (* t z) 1/16) c) (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal 1/16 binary64) #s(literal 1 binary64)) c)) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) c)) c)) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) c)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x))) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (* y x) c) (neg.f64 (*.f64 (neg.f64 (fma.f64 x (/.f64 y c) #s(literal 1 binary64))) c))) |
#s(approx (+ (* (* t z) 1/16) c) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal -1/16 binary64) #s(literal -1 binary64)) c))) |
#s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)) c)) #s(literal 1 binary64)) c))) |
#s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 (*.f64 #s(literal -1/4 binary64) a) b)) c)) #s(literal 1 binary64)) c))) |
Compiled 1 926 to 894 computations (53.6% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 205 | 3 | 208 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 1 | 1 |
| Total | 206 | 8 | 214 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 72.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
| ✓ | 45.0% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| ▶ | 25.1% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
| ✓ | 29.8% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
| ✓ | 52.1% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
| ✓ | 61.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
| ▶ | 40.6% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
| ▶ | 57.0% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
Compiled 208 to 208 computations (0% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
y |
x |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c)) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c) |
(*.f64 #s(literal 1/16 binary64) t) |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(*.f64 (*.f64 t z) #s(literal 1/16 binary64)) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* x y)))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (* 1/16 t) #s(hole binary64 (* 1/16 t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 17.0ms | z | @ | inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* 1/16 t) z) c) (* 1/16 t) c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* (* t z) 1/16)) |
| 1.0ms | t | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* 1/16 t) z) c) (* 1/16 t) c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* (* t z) 1/16)) |
| 1.0ms | z | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* 1/16 t) z) c) (* 1/16 t) c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* (* t z) 1/16)) |
| 1.0ms | t | @ | inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* 1/16 t) z) c) (* 1/16 t) c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* (* t z) 1/16)) |
| 1.0ms | y | @ | -inf | ((+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (* (* t z) 1/16) (+ (* y x) c)) (+ (* (* t z) 1/16) (* y x)) (* t z) t z 1/16 (* y x) y x (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+ (+ (* (* t z) 1/16) (* y x)) c) (+ (* (* 1/16 t) z) c) (* 1/16 t) c (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (* (* t z) 1/16)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 289 | 1641 |
| 0 | 296 | 1507 |
| 1 | 1981 | 1501 |
| 0 | 8377 | 1419 |
| 1 | 28909 | 1419 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(*.f64 t z) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
y |
x |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c)) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c) |
(*.f64 #s(literal 1/16 binary64) t) |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
(*.f64 (*.f64 t z) #s(literal 1/16 binary64)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (+ (* 1/16 (* t z)) (* x y))) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* 1/16 (* t z))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (+ (* 1/16 (* t z)) (* x y))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* 1/16 (* t z)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (+ (* 1/16 (* t z)) (* x y)))) |
#s(approx (* y x) #s(hole binary64 (* x y))) |
#s(approx x #s(hole binary64 x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* x (- (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x))) (* 1/4 (/ (* a b) x)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* x (+ y (+ (* 1/16 (/ (* t z) x)) (/ c x)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* x (+ y (* 1/16 (/ (* t z) x)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (+ c (* 1/16 (* t z))) x))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1/16 (/ (* t z) x))))))) |
#s(approx y #s(hole binary64 y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* y (- (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y))) (* 1/4 (/ (* a b) y)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* y (+ x (+ (* 1/16 (/ (* t z) y)) (/ c y)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* y (+ x (* 1/16 (/ (* t z) y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (- (+ c (* 1/16 (* t z))) (* 1/4 (* a b))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ c (* 1/16 (* t z))) y))))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/16 (/ (* t z) y))))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ c (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (+ c (* x y)))) |
#s(approx (* t z) #s(hole binary64 (* t z))) |
#s(approx z #s(hole binary64 z)) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* z (- (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z))) (* 1/4 (/ (* a b) z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* z (+ (* 1/16 t) (+ (/ c z) (/ (* x y) z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* z (+ (* 1/16 t) (/ (* x y) z))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* z (+ (* 1/16 t) (/ c z))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ c (* x y)) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (* x y) z)) (* -1/16 t)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* z (+ (* -1 (/ c z)) (* -1/16 t)))))) |
#s(approx t #s(hole binary64 t)) |
#s(approx (* 1/16 t) #s(hole binary64 (* 1/16 t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* t (- (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t))) (* 1/4 (/ (* a b) t)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* t (+ (* 1/16 z) (+ (/ c t) (/ (* x y) t)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* t (+ (* 1/16 z) (/ (* x y) t))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* t (+ (* 1/16 z) (/ c t))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (- (+ c (* x y)) (* 1/4 (* a b))) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (+ c (* x y)) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) #s(hole binary64 (* -1 (* t (+ (* -1 (/ (* x y) t)) (* -1/16 z)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* t (+ (* -1 (/ c t)) (* -1/16 z)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (+ c (+ (* -1/4 (* a b)) (+ (* 1/16 (* t z)) (* x y)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1/4 (* a b)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* a (- (+ (* 1/16 (/ (* t z) a)) (+ (/ c a) (/ (* x y) a))) (* 1/4 b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) a)) (* -1/4 b)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* b (- (+ (* 1/16 (/ (* t z) b)) (+ (/ c b) (/ (* x y) b))) (* 1/4 a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ c (+ (* 1/16 (* t z)) (* x y))) b)) (* -1/4 a)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* c (- (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c))) (* 1/4 (/ (* a b) c)))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* c (+ 1 (+ (* 1/16 (/ (* t z) c)) (/ (* x y) c)))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* c (+ 1 (* 1/16 (/ (* t z) c)))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(hole binary64 (* -1 (* c (- (* -1 (/ (- (+ (* 1/16 (* t z)) (* x y)) (* 1/4 (* a b))) c)) 1))))) |
#s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) #s(hole binary64 (* -1 (* c (- (* -1 (/ (+ (* 1/16 (* t z)) (* x y)) c)) 1))))) |
#s(approx (+ (* (* 1/16 t) z) c) #s(hole binary64 (* -1 (* c (- (* -1/16 (/ (* t z) c)) 1))))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x))) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 y x)) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) (*.f64 y x)) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) (*.f64 y x)) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) (*.f64 y x)) |
(fma.f64 y x (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
(fma.f64 x y (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
(-.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) (*.f64 (neg.f64 y) x)) |
(-.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) (*.f64 (neg.f64 x) y)) |
(-.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) (neg.f64 (*.f64 y x))) |
(-.f64 (*.f64 y x) (neg.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)))) |
(+.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
(*.f64 t z) |
(*.f64 z t) |
t |
z |
#s(literal 1/16 binary64) |
(*.f64 y x) |
(*.f64 x y) |
y |
x |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c)) |
(fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c) |
(fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) |
(fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) |
(fma.f64 t (*.f64 #s(literal 1/16 binary64) z) c) |
(fma.f64 z (/.f64 t #s(literal 16 binary64)) c) |
(fma.f64 z (*.f64 #s(literal 1/16 binary64) t) c) |
(-.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) (neg.f64 c)) |
(-.f64 c (*.f64 #s(literal -1/16 binary64) (*.f64 t z))) |
(-.f64 c (neg.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)))) |
(+.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 t z)) c) |
(+.f64 c (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
(*.f64 #s(literal 1/16 binary64) t) |
(*.f64 t #s(literal 1/16 binary64)) |
c |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
(*.f64 (*.f64 #s(literal 1/16 binary64) t) z) |
(*.f64 #s(literal 1/16 binary64) (*.f64 t z)) |
(*.f64 (*.f64 t z) #s(literal 1/16 binary64)) |
(*.f64 t (*.f64 #s(literal 1/16 binary64) z)) |
(*.f64 z (/.f64 t #s(literal 16 binary64))) |
(*.f64 z (*.f64 #s(literal 1/16 binary64) t)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 t z))) #s(literal 16 binary64)) |
(/.f64 (neg.f64 (*.f64 t z)) #s(literal -16 binary64)) |
(/.f64 (*.f64 t z) #s(literal 16 binary64)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 #s(literal 1/16 binary64) (*.f64 t z))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x))) |
#s(approx (* y x) (*.f64 y x)) |
#s(approx x x) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 y (/.f64 (-.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) x)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) x) y) x)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) x) #s(literal 1/16 binary64) y) x)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (-.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) x)) (neg.f64 y)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (neg.f64 x) (+.f64 (neg.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) x)) (neg.f64 y)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 t z) x) (neg.f64 y)))) |
#s(approx y y) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 x (/.f64 (-.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) y)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) y) x) y)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 (/.f64 (*.f64 t z) y) #s(literal 1/16 binary64) x) y)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (-.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) y)) (neg.f64 x)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (neg.f64 y) (+.f64 (neg.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) c) y)) (neg.f64 x)))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (neg.f64 y) (fma.f64 (/.f64 (*.f64 t z) y) #s(literal -1/16 binary64) (neg.f64 x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c)) |
#s(approx (* t z) (*.f64 t z)) |
#s(approx z z) |
#s(approx (+ (* (* 1/16 t) z) c) c) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z)) z)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (fma.f64 y x c) z)) z)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 (*.f64 y x) z)) z)) |
#s(approx (+ (* (* 1/16 t) z) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) t (/.f64 c z)) z)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) z))) z))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (fma.f64 y x c) z))) z))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 (*.f64 y x) z))) z))) |
#s(approx (+ (* (* 1/16 t) z) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) t (neg.f64 (/.f64 c z))) z))) |
#s(approx t t) |
#s(approx (* 1/16 t) (*.f64 #s(literal 1/16 binary64) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t)) t)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (fma.f64 y x c) t)) t)) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 (*.f64 y x) t)) t)) |
#s(approx (+ (* (* 1/16 t) z) c) (*.f64 (fma.f64 #s(literal 1/16 binary64) z (/.f64 c t)) t)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a))) t))) t))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (fma.f64 y x c) t))) t))) |
#s(approx (+ (* (* t z) 1/16) (* y x)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 (*.f64 y x) t))) t))) |
#s(approx (+ (* (* 1/16 t) z) c) (neg.f64 (*.f64 (fma.f64 #s(literal -1/16 binary64) z (neg.f64 (/.f64 c t))) t))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a) (*.f64 #s(literal 1/4 binary64) b)) a)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) a)) (*.f64 #s(literal -1/4 binary64) b)) a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (-.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b) (*.f64 #s(literal 1/4 binary64) a)) b)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (fma.f64 y x c)) b)) (*.f64 #s(literal -1/4 binary64) a)) b))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x))) c)) c)) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)) c) #s(literal 1 binary64)) c)) |
#s(approx (+ (* (* 1/16 t) z) c) (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal 1/16 binary64) #s(literal 1 binary64)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 #s(literal -1/4 binary64) (*.f64 b a) (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x))) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (neg.f64 (*.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 t z) (*.f64 y x)) c)) #s(literal 1 binary64)) c))) |
#s(approx (+ (* (* 1/16 t) z) c) (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 t z) c) #s(literal -1/16 binary64) #s(literal -1 binary64)) c))) |
Compiled 968 to 426 computations (56% saved)
9 alts after pruning (2 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 97 | 2 | 99 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 3 | 3 |
| Done | 1 | 4 | 5 |
| Total | 98 | 9 | 107 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 45.0% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| ✓ | 25.1% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
| ✓ | 29.8% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
| ✓ | 52.1% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
| ✓ | 61.9% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
| ✓ | 40.6% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
| 50.7% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) | |
| 17.4% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) | |
| ✓ | 57.0% | #s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
Compiled 395 to 330 computations (16.5% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| Outputs |
|---|
(+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
15 calls:
| 12.0ms | t |
| 6.0ms | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 5.0ms | x |
| 5.0ms | z |
| 5.0ms | c |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.8% | 1 | (*.f64 a b) |
| 98.8% | 1 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 98.8% | 1 | (*.f64 z t) |
| 98.8% | 1 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 98.8% | 1 | (*.f64 x y) |
| 98.8% | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 98.8% | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 98.8% | 1 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 98.8% | 1 | x |
| 98.8% | 1 | y |
| 98.8% | 1 | z |
| 98.8% | 1 | t |
| 98.8% | 1 | a |
| 98.8% | 1 | b |
| 98.8% | 1 | c |
Compiled 67 to 138 computations (-106% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* (* t z) 1/16) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z (*.f64 #s(literal -1/4 binary64) (*.f64 b a))))) |
15 calls:
| 8.0ms | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 7.0ms | c |
| 5.0ms | x |
| 5.0ms | y |
| 4.0ms | b |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.3% | 3 | (*.f64 a b) |
| 93.3% | 3 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 91.7% | 3 | (*.f64 z t) |
| 91.7% | 3 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 90.4% | 3 | (*.f64 x y) |
| 91.3% | 4 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 83.1% | 3 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 82.5% | 3 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 88.0% | 4 | x |
| 87.6% | 3 | y |
| 91.0% | 3 | z |
| 92.2% | 5 | t |
| 90.8% | 3 | a |
| 90.4% | 3 | b |
| 81.4% | 3 | c |
Compiled 67 to 138 computations (-106% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (+.f64 (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)) c)) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 (fma.f64 y x c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
2 calls:
| 4.0ms | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 3.0ms | (*.f64 a b) |
| Accuracy | Segments | Branch |
|---|---|---|
| 93.1% | 3 | (*.f64 a b) |
| 93.1% | 3 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
Compiled 8 to 18 computations (-125% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
2 calls:
| 3.0ms | (*.f64 a b) |
| 3.0ms | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 92.4% | 3 | (*.f64 a b) |
| 92.4% | 3 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
Compiled 8 to 18 computations (-125% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (- (+ (* y x) c) (* 1/4 (* b a))) (fma.f64 (*.f64 #s(literal -1/4 binary64) a) b (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
15 calls:
| 9.0ms | z |
| 3.0ms | t |
| 3.0ms | c |
| 3.0ms | y |
| 3.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 75.5% | 5 | c |
| 70.2% | 4 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 74.9% | 4 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 71.7% | 4 | x |
| 71.4% | 4 | y |
| 75.1% | 4 | t |
| 80.4% | 4 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 76.7% | 5 | (*.f64 x y) |
| 74.7% | 3 | b |
| 75.0% | 3 | a |
| 72.8% | 4 | z |
| 76.1% | 3 | (*.f64 z t) |
| 76.1% | 3 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 80.3% | 4 | (*.f64 a b) |
| 80.3% | 4 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
Compiled 67 to 138 computations (-106% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (* (* t z) 1/16) (+ (* y x) c)) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) (*.f64 y x)))) |
3 calls:
| 11.0ms | (*.f64 a b) |
| 3.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 3.0ms | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.1% | 4 | (*.f64 a b) |
| 78.1% | 4 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 78.4% | 3 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
Compiled 17 to 30 computations (-76.5% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (-.f64 #s(approx (+ (* y x) c) c) (*.f64 #s(literal 1/4 binary64) (*.f64 b a)))) |
12 calls:
| 11.0ms | t |
| 3.0ms | c |
| 3.0ms | (*.f64 x y) |
| 3.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 66.9% | 5 | z |
| 56.0% | 4 | c |
| 60.6% | 5 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 61.8% | 3 | t |
| 68.3% | 3 | (*.f64 x y) |
| 69.5% | 4 | b |
| 64.4% | 3 | a |
| 69.2% | 4 | (*.f64 z t) |
| 69.2% | 4 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 70.7% | 3 | (*.f64 a b) |
| 70.7% | 3 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 64.9% | 3 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
Compiled 48 to 107 computations (-122.9% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 (*.f64 t z) #s(literal 1/16 binary64))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 #s(literal 1/16 binary64) t) z c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 (*.f64 t z) #s(literal 1/16 binary64) c))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) (*.f64 #s(literal -1/4 binary64) (*.f64 b a))) |
2 calls:
| 2.0ms | (*.f64 a b) |
| 2.0ms | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 70.3% | 3 | (*.f64 a b) |
| 70.3% | 3 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
Compiled 8 to 18 computations (-125% saved)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) (fma.f64 y x c))) |
15 calls:
| 4.0ms | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 4.0ms | x |
| 1.0ms | z |
| 1.0ms | y |
| 1.0ms | a |
| Accuracy | Segments | Branch |
|---|---|---|
| 50.7% | 1 | c |
| 50.7% | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 50.7% | 1 | t |
| 50.7% | 1 | z |
| 50.7% | 1 | a |
| 50.7% | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 50.7% | 1 | (*.f64 z t) |
| 50.7% | 1 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 50.7% | 1 | b |
| 50.7% | 1 | (*.f64 x y) |
| 50.7% | 1 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 50.7% | 1 | y |
| 50.7% | 1 | x |
| 50.7% | 1 | (*.f64 a b) |
| 50.7% | 1 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
Compiled 67 to 138 computations (-106% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
| Outputs |
|---|
#s(approx (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c) #s(approx (+ (+ (* (* t z) 1/16) (* y x)) c) #s(approx (+ (* (* 1/16 t) z) c) c))) |
15 calls:
| 4.0ms | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 1.0ms | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 1.0ms | (*.f64 z t) |
| 1.0ms | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 1.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 17.4% | 1 | (*.f64 z t) |
| 17.4% | 1 | (/.f64 (*.f64 z t) #s(literal 16 binary64)) |
| 17.4% | 1 | (*.f64 x y) |
| 17.4% | 1 | (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) |
| 17.4% | 1 | (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) |
| 17.4% | 1 | (+.f64 (-.f64 (+.f64 (*.f64 x y) (/.f64 (*.f64 z t) #s(literal 16 binary64))) (/.f64 (*.f64 a b) #s(literal 4 binary64))) c) |
| 17.4% | 1 | x |
| 17.4% | 1 | b |
| 17.4% | 1 | (*.f64 a b) |
| 17.4% | 1 | (/.f64 (*.f64 a b) #s(literal 4 binary64)) |
| 17.4% | 1 | y |
| 17.4% | 1 | z |
| 17.4% | 1 | t |
| 17.4% | 1 | a |
| 17.4% | 1 | c |
Compiled 67 to 138 computations (-106% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.45615657109559e+206 | 1.608621746639554e+226 |
| 0.0ms | -2.086153757671943e+59 | -9.700670628885444e+54 |
Compiled 20 to 27 computations (-35% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 8.285631222340413e+70 | 1.6898041116424328e+75 |
| 0.0ms | -2.086153757671943e+59 | -9.700670628885444e+54 |
Compiled 20 to 27 computations (-35% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 8.344226415841988e+195 | 4.30290621049149e+202 |
| 0.0ms | -9.297305437775856e+204 | -2.5594061775679584e+195 |
Compiled 20 to 27 computations (-35% saved)
| 3× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.5639435886912877e+113 | 3.8585019609415646e+117 |
| 0.0ms | -5.812761551857599e-67 | -4.835339682587392e-73 |
| 0.0ms | -inf | -9.33575938878579e+303 |
Compiled 20 to 27 computations (-35% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.5639435886912877e+113 | 3.8585019609415646e+117 |
| 0.0ms | -3.914981831665896e+173 | -1.4891420714021216e+169 |
Compiled 20 to 27 computations (-35% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.45615657109559e+206 | 1.608621746639554e+226 |
| 0.0ms | -1.9450255150305454e+135 | -9.629247697387325e+106 |
Compiled 20 to 27 computations (-35% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.45615657109559e+206 | 1.608621746639554e+226 |
| 0.0ms | -9.297305437775856e+204 | -2.5594061775679584e+195 |
Compiled 20 to 27 computations (-35% saved)
| 1× | fuel |
Compiled 169 to 111 computations (34.3% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 2 952 to 2 444 computations (17.2% saved)
Loading profile data...