
Time bar (total: 4.6s)
| 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 13 to 13 computations (0% saved)
| 898.0ms | 8 256× | 0 | valid |
ival-mult: 264.0ms (68.1% of total)ival-add: 114.0ms (29.4% of total)ival-true: 6.0ms (1.5% of total)ival-assert: 3.0ms (0.8% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 3 | 0 | - | 0 | - | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1 | 0 | - | 0 | - | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0 | 0 | - | 0 | - | a |
| 0 | 0 | - | 0 | - | t |
| 0 | 0 | - | 0 | - | (*.f64 z t) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 x y) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | b |
| 0 | 0 | - | 0 | - | (*.f64 a b) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.f64 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) | nan-rescue | 3 | 0 |
| ↳ | (*.f64 x y) | overflow | 24 | |
| ↳ | (+.f64 (*.f64 x y) (*.f64 z t)) | overflow | 55 | |
| ↳ | (*.f64 z t) | overflow | 33 | |
| ↳ | (*.f64 a b) | overflow | 28 | |
+.f64 | (+.f64 (*.f64 x y) (*.f64 z t)) | nan-rescue | 1 | 0 |
| ↳ | (*.f64 x y) | overflow | 24 | |
| ↳ | (*.f64 z t) | overflow | 33 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 4 | 0 |
| - | 0 | 252 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 4 | 0 | 0 |
| - | 0 | 0 | 252 |
| number | freq |
|---|---|
| 0 | 252 |
| 1 | 4 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 51.0ms | 512× | 0 | valid |
Compiled 81 to 37 computations (54.3% saved)
ival-mult: 15.0ms (74.4% of total)ival-add: 4.0ms (19.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 315 |
| 1 | 222 | 301 |
| 2 | 379 | 297 |
| 3 | 792 | 297 |
| 4 | 1555 | 297 |
| 5 | 2497 | 297 |
| 6 | 3005 | 297 |
| 7 | 3053 | 297 |
| 8 | 3055 | 297 |
| 9 | 3055 | 297 |
| 10 | 3055 | 297 |
| 11 | 3055 | 297 |
| 0 | 11 | 11 |
| 0 | 16 | 11 |
| 1 | 23 | 11 |
| 2 | 30 | 11 |
| 3 | 32 | 11 |
| 0 | 32 | 9 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(sort x y)
(sort z t)
(sort a b)
Compiled 11 to 11 computations (0% saved)
Compiled 0 to 6 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 98.4% | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Compiled 11 to 11 computations (0% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 z t) | |
| cost-diff | 0 | (*.f64 x y) | |
| cost-diff | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| cost-diff | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 33 |
| 0 | 16 | 33 |
| 1 | 23 | 33 |
| 2 | 30 | 33 |
| 3 | 32 | 33 |
| 0 | 32 | 30 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
x |
y |
(*.f64 z t) |
z |
t |
(*.f64 a b) |
a |
b |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(fma.f64 t z (*.f64 y x)) |
(*.f64 x y) |
(*.f64 y x) |
x |
y |
(*.f64 z t) |
(*.f64 t z) |
z |
t |
(*.f64 a b) |
(*.f64 b a) |
a |
b |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 x y) | |
| accuracy | 0.0 | (*.f64 a b) | |
| accuracy | 0.21093750000000003 | (+.f64 (*.f64 x y) (*.f64 z t)) | |
| accuracy | 0.6484354358302059 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 19.0ms | 256× | 0 | valid |
Compiled 35 to 13 computations (62.9% saved)
ival-mult: 5.0ms (67% of total)ival-add: 2.0ms (26.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(*.f64 z t) |
(*.f64 a b) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(* a b) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* z t) (* a b)) |
| 1.0ms | x | @ | 0 | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* z t) (* a b)) |
| 1.0ms | x | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* z t) (* a b)) |
| 1.0ms | y | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* z t) (* a b)) |
| 1.0ms | y | @ | 0 | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* x y) (* z t)) (* x y) (* z t) (* a b)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 249 |
| 1 | 389 | 245 |
| 2 | 1302 | 237 |
| 3 | 3174 | 237 |
| 4 | 7235 | 237 |
| 0 | 8046 | 200 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* t z) |
(+ (* t z) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* t z) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* t z) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(+ (* a b) (* x y)) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* x y) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* x y) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(* a b) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(fma.f64 b a (*.f64 t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* t z) |
(*.f64 t z) |
(+ (* t z) (* x y)) |
(fma.f64 t z (*.f64 y x)) |
(* x y) |
(*.f64 y x) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* x (+ y (/ (* t z) x))) |
(fma.f64 t z (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x))))) |
(fma.f64 t z (*.f64 y x)) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* y (+ x (/ (* t z) y))) |
(fma.f64 t z (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y))))) |
(fma.f64 t z (*.f64 y x)) |
(+ (* a b) (* x y)) |
(fma.f64 b a (*.f64 y x)) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* z (+ t (/ (* x y) z))) |
(fma.f64 t z (*.f64 y x)) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(fma.f64 (fma.f64 b a (*.f64 y x)) #s(literal 1 binary64) (*.f64 t z)) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z))))) |
(fma.f64 t z (*.f64 y x)) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* t (+ z (/ (* x y) t))) |
(fma.f64 t z (*.f64 y x)) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(fma.f64 (fma.f64 b a (*.f64 y x)) #s(literal 1 binary64) (*.f64 t z)) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t))))) |
(fma.f64 t z (*.f64 y x)) |
(* a b) |
(*.f64 b a) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 27 |
| 0 | 16 | 27 |
| 1 | 48 | 27 |
| 2 | 402 | 27 |
| 3 | 6100 | 27 |
| 0 | 8135 | 24 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
(*.f64 x y) |
(*.f64 z t) |
(*.f64 a b) |
| Outputs |
|---|
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (fma.f64 (*.f64 b a) (fma.f64 b a (fma.f64 t z (*.f64 y x))) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a)) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a)) (-.f64 (*.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (fma.f64 b a (fma.f64 t z (*.f64 y x)))) |
(*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))) #s(literal -1 binary64))) |
(*.f64 (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)))) |
(*.f64 #s(literal 1 binary64) (fma.f64 b a (fma.f64 t z (*.f64 y x)))) |
(*.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 (fma.f64 b a (*.f64 t z)) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64))) |
(*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal -1 binary64))) |
(*.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) #s(literal -1 binary64))) |
(*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) |
(*.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (/.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(*.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (*.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) (pow.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) #s(literal -1 binary64)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) #s(literal -1 binary64))) |
(*.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) (/.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(*.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) (*.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)))) |
(pow.f64 (/.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (fma.f64 (fma.f64 b a (*.f64 t z)) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)) #s(literal -1 binary64)) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 9 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 2 binary64))) (-.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 b a (*.f64 t z)) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 2 binary64))) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (*.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal 2 binary64))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) (*.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (*.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) (+.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 4 binary64)) (pow.f64 (*.f64 b a) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (*.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64))) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (fma.f64 b a (*.f64 t z)) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) |
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 9 binary64))) (*.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (-.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 6 binary64)) (pow.f64 (*.f64 b a) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 b (fma.f64 t z (*.f64 y x))) a) #s(literal 3 binary64))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) |
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))) |
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)))) (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))))) |
(neg.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (neg.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(neg.f64 (/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (neg.f64 (fma.f64 (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) (*.f64 b a) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)))))) |
(fma.f64 (/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (fma.f64 (*.f64 (fma.f64 t z (*.f64 y x)) t) z (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 b a)) |
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z))) (*.f64 b a)) |
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) (-.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (*.f64 b a)) |
(fma.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (fma.f64 (*.f64 b a) (fma.f64 b a (fma.f64 t z (*.f64 y x))) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(fma.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (fma.f64 b a (fma.f64 t z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(fma.f64 (/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (fma.f64 t z (*.f64 y x)) (*.f64 b a)) |
(fma.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 t z) (*.f64 y x)) #s(literal -1 binary64)) (*.f64 b a)) |
(fma.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (pow.f64 (fma.f64 t z (*.f64 (neg.f64 b) a)) #s(literal -1 binary64)) (*.f64 y x)) |
(fma.f64 (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (*.f64 b a)) |
(fma.f64 (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 b a)) |
(fma.f64 #s(literal 1 binary64) (fma.f64 t z (*.f64 y x)) (*.f64 b a)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 t z)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 y x)) |
(fma.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal -1 binary64)) (*.f64 b a)) |
(fma.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) #s(literal -1 binary64)) (*.f64 b a)) |
(fma.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64)) (*.f64 b a)) |
(fma.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (*.f64 b a)) |
(fma.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 (fma.f64 t z (*.f64 y x)) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64))) (*.f64 b a)) |
(fma.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 b a)) |
(fma.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (pow.f64 (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(fma.f64 a b (fma.f64 t z (*.f64 y x))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) (/.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (*.f64 b a)) |
(fma.f64 (fma.f64 t z (*.f64 y x)) (/.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (neg.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64))) (*.f64 b a)) |
(fma.f64 t z (fma.f64 b a (*.f64 y x))) |
(fma.f64 z t (fma.f64 b a (*.f64 y x))) |
(fma.f64 y x (fma.f64 b a (*.f64 t z))) |
(fma.f64 x y (fma.f64 b a (*.f64 t z))) |
(-.f64 (fma.f64 b a (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x)))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))) (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))) (/.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (-.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (*.f64 b a))) |
(-.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x))))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x))) #s(literal -1 binary64))) #s(literal -1 binary64))) |
(+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z)) |
(+.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))) (neg.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 (neg.f64 b) a (fma.f64 t z (*.f64 y x)))))) |
(+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)) |
(+.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))) |
(+.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a)) |
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x))) |
(+.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (fma.f64 (*.f64 (fma.f64 t z (*.f64 y x)) t) z (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) (-.f64 (*.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (*.f64 y x) #s(literal 4 binary64)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (fma.f64 t z (*.f64 y x))) |
(*.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 t z) (*.f64 y x)) #s(literal -1 binary64))) |
(*.f64 (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) |
(*.f64 #s(literal 1 binary64) (fma.f64 t z (*.f64 y x))) |
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal -1 binary64))) |
(*.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) #s(literal -1 binary64))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64))) |
(*.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(*.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 (fma.f64 t z (*.f64 y x)) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64))) |
(*.f64 (fma.f64 t z (*.f64 y x)) (/.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(*.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64)))) |
(pow.f64 (/.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) #s(literal -1 binary64)) |
(pow.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)) |
(pow.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal -1 binary64)) #s(literal -1 binary64)) |
(pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 1 binary64)) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (pow.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 3 binary64)))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 t z) (*.f64 y x)))) |
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 2 binary64))) (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (*.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal 2 binary64))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal -1 binary64)))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (*.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (*.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (*.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) (+.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal -1 binary64)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal -1 binary64))) |
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (*.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) x) y) #s(literal 3 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (fma.f64 (neg.f64 t) z (*.f64 y x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (-.f64 (*.f64 t z) (*.f64 y x)) (*.f64 t z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 y x)))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (fma.f64 (*.f64 (fma.f64 t z (*.f64 y x)) t) z (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (fma.f64 t z (*.f64 y x)) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (*.f64 (*.f64 x x) y) (/.f64 y (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (*.f64 (*.f64 y y) x) (/.f64 x (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (*.f64 y y) (/.f64 (*.f64 x x) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (*.f64 x x) (/.f64 (*.f64 y y) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 (neg.f64 t) z (*.f64 y x)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 t z (*.f64 y x)) |
(fma.f64 z t (*.f64 y x)) |
(fma.f64 (*.f64 y x) (/.f64 (*.f64 y x) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 y (/.f64 (*.f64 (*.f64 x x) y) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 y x (*.f64 t z)) |
(fma.f64 x (/.f64 (*.f64 (*.f64 y y) x) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(fma.f64 x y (*.f64 t z)) |
(-.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 t z) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 t z) (*.f64 y x)))) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x)))) |
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 t z (*.f64 y x)))) #s(literal -1 binary64))) |
(exp.f64 (*.f64 (log.f64 (fma.f64 t z (*.f64 y x))) #s(literal 1 binary64))) |
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 (neg.f64 t) z (*.f64 y x))))) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(*.f64 x y) |
(*.f64 t z) |
(*.f64 z t) |
(*.f64 b a) |
(*.f64 a b) |
Compiled 6 287 to 577 computations (90.8% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 193 | 2 | 195 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 194 | 2 | 196 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 60.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
| ▶ | 67.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
Compiled 36 to 28 computations (22.2% saved)
| 1× | egg-herbie |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 y x) | |
| cost-diff | 0 | (fma.f64 b a (*.f64 y x)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) | |
| cost-diff | 0 | (*.f64 t z) | |
| cost-diff | 0 | (fma.f64 b a (*.f64 t z)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 62 |
| 0 | 22 | 60 |
| 1 | 37 | 60 |
| 2 | 40 | 60 |
| 0 | 40 | 58 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
(fma.f64 b a (*.f64 t z)) |
b |
a |
(*.f64 t z) |
t |
z |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(fma.f64 b a (*.f64 y x)) |
b |
a |
(*.f64 y x) |
y |
x |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
(fma.f64 b a (*.f64 t z)) |
b |
a |
(*.f64 t z) |
t |
z |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(fma.f64 b a (*.f64 y x)) |
b |
a |
(*.f64 y x) |
y |
x |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 y x) | |
| accuracy | 0.00390625 | (fma.f64 b a (*.f64 y x)) | |
| accuracy | 25.56526364261262 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) | |
| accuracy | 0.0 | (fma.f64 b a (*.f64 t z)) | |
| accuracy | 0.0 | (*.f64 t z) | |
| accuracy | 20.623638393943473 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
| 66.0ms | 256× | 0 | valid |
Compiled 52 to 18 computations (65.4% saved)
ival-mult: 9.0ms (61.5% of total)ival-add: 5.0ms (34.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
(fma.f64 b a (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(fma.f64 b a (*.f64 y x)) |
(*.f64 y x) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* a b) |
(+ (* a b) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* a b) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* a b) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* a b) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* a b) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t))))) |
(+ (* t z) (* x y)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* a (+ b (/ (* t z) a))) |
(* a (+ b (/ (* x y) a))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* b (+ a (/ (* t z) b))) |
(* b (+ a (/ (* x y) b))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* t z)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* y x)) |
| 1.0ms | x | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* t z)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* y x)) |
| 1.0ms | y | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* t z)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* y x)) |
| 1.0ms | z | @ | inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* t z)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* y x)) |
| 1.0ms | z | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* t z)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* y x)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 315 |
| 1 | 488 | 309 |
| 2 | 1666 | 297 |
| 3 | 4200 | 297 |
| 0 | 8037 | 252 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* a b) |
(+ (* a b) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* a b) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* a b) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* z (+ t (/ (* a b) z))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* t (+ z (/ (* a b) t))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t))))) |
(+ (* t z) (* x y)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* a (+ b (/ (* t z) a))) |
(* a (+ b (/ (* x y) a))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* b (+ a (/ (* t z) b))) |
(* b (+ a (/ (* x y) b))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(fma.f64 b a (*.f64 t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* a b) |
(*.f64 b a) |
(+ (* a b) (* x y)) |
(fma.f64 b a (*.f64 y x)) |
(* x y) |
(*.f64 y x) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* x (+ y (/ (* a b) x))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(fma.f64 b a (*.f64 y x)) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* y (+ x (/ (* a b) y))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(fma.f64 b a (*.f64 y x)) |
(* t z) |
(*.f64 t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* z (+ t (/ (* a b) z))) |
(fma.f64 b a (*.f64 t z)) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(fma.f64 (fma.f64 b a (*.f64 y x)) #s(literal 1 binary64) (*.f64 t z)) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z))))) |
(fma.f64 b a (*.f64 t z)) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* t (+ z (/ (* a b) t))) |
(fma.f64 b a (*.f64 t z)) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(fma.f64 (fma.f64 b a (*.f64 y x)) #s(literal 1 binary64) (*.f64 t z)) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t))))) |
(fma.f64 b a (*.f64 t z)) |
(+ (* t z) (* x y)) |
(fma.f64 t z (*.f64 y x)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* a (+ b (/ (* t z) a))) |
(fma.f64 b a (*.f64 t z)) |
(* a (+ b (/ (* x y) a))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) #s(literal 1 binary64) (*.f64 b a)) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a))))) |
(fma.f64 b a (*.f64 t z)) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(fma.f64 b a (*.f64 y x)) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* b (+ a (/ (* t z) b))) |
(fma.f64 b a (*.f64 t z)) |
(* b (+ a (/ (* x y) b))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) #s(literal 1 binary64) (*.f64 b a)) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b))))) |
(fma.f64 b a (*.f64 t z)) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
(fma.f64 b a (*.f64 y x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 54 |
| 0 | 22 | 52 |
| 1 | 99 | 52 |
| 2 | 622 | 52 |
| 0 | 8343 | 50 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
(fma.f64 b a (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(fma.f64 b a (*.f64 y x)) |
(*.f64 y x) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 b a (*.f64 t z))))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a))) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a))))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a))) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a))) (-.f64 (*.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a))) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (fma.f64 b a (*.f64 t z))) |
(*.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 t z (*.f64 (neg.f64 b) a)))) |
(*.f64 (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) |
(*.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 t z))) |
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 b a) (*.f64 t z))))) |
(*.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64))) |
(*.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (*.f64 (fma.f64 b a (*.f64 t z)) (pow.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 t z)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) |
(*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (-.f64 (*.f64 b a) (*.f64 t z)) (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64)))) |
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 t z))) #s(literal -1 binary64)) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) b) a) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (*.f64 t z) #s(literal 9 binary64))) (pow.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) b) a) #s(literal 3 binary64)))) |
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z)))) (*.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) (+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (fma.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (*.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (neg.f64 (fma.f64 t z (*.f64 (neg.f64 b) a)))) |
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 (*.f64 b a) (*.f64 t z))))) |
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 t z)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 t z) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) b) a) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 t z)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (*.f64 t z) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 t z) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 t z) b) a) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (*.f64 (-.f64 (*.f64 b a) (*.f64 t z)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 b a) (*.f64 t z)) (-.f64 (*.f64 b a) (*.f64 t z)))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 t z))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (fma.f64 t z (*.f64 (neg.f64 b) a))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 t z (*.f64 (neg.f64 b) a)) (-.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 t z))) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 t z)))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 t z)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 b a) (*.f64 t z)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 t z)))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 t z))) |
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) |
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (-.f64 (*.f64 b a) (*.f64 t z)))) |
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(neg.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64))) (neg.f64 (-.f64 (*.f64 b a) (*.f64 t z))))) |
(neg.f64 (/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (neg.f64 (fma.f64 (*.f64 t z) (fma.f64 t z (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 t z) (fma.f64 b a (*.f64 t z)))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 t z) #s(literal 2 binary64)))) (fma.f64 b a (*.f64 t z)) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(fma.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (-.f64 (*.f64 b a) (*.f64 t z)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(fma.f64 b a (*.f64 t z)) |
(fma.f64 a b (*.f64 t z)) |
(fma.f64 t z (*.f64 b a)) |
(fma.f64 z t (*.f64 b a)) |
(-.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (fma.f64 t z (*.f64 (neg.f64 b) a))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 t z (*.f64 (neg.f64 b) a)))) |
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z)))) |
(+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))) (neg.f64 (/.f64 (pow.f64 (*.f64 t z) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 t z))))) |
(+.f64 (*.f64 b a) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 b a)) |
(*.f64 t z) |
(*.f64 z t) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 b a (*.f64 y x))))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a))) #s(literal 2 binary64)))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a))))) |
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a))) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a))) (-.f64 (*.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a))) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (fma.f64 b a (*.f64 y x))) |
(*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 y x (*.f64 (neg.f64 b) a)))) |
(*.f64 (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) |
(*.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 y x))) |
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 b a) (*.f64 y x))))) |
(*.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64))) |
(*.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (*.f64 (fma.f64 b a (*.f64 y x)) (pow.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 y x)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) |
(*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (-.f64 (*.f64 b a) (*.f64 y x)) (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64)))) |
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 y x))) #s(literal -1 binary64)) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 y x) b) a) #s(literal 2 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (pow.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 y x) b) a) #s(literal 3 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x)))) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) (+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (*.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y x (*.f64 (neg.f64 b) a)))) |
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 (*.f64 b a) (*.f64 y x))))) |
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 y x)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 4 binary64)) (pow.f64 (*.f64 y x) #s(literal 4 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 y x) b) a) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 y x)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 9 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 (*.f64 (*.f64 (*.f64 y x) b) a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (*.f64 (-.f64 (*.f64 b a) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 b a) (*.f64 y x)) (-.f64 (*.f64 b a) (*.f64 y x)))) |
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 y x))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))) (fma.f64 y x (*.f64 (neg.f64 b) a))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y x (*.f64 (neg.f64 b) a)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 y x))) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 b a (*.f64 y x)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 b a) (*.f64 y x)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 y x)))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 b a) (*.f64 y x))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 b a) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))) |
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (-.f64 (*.f64 b a) (*.f64 y x)))) |
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64)))) (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64))))) |
(neg.f64 (/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (neg.f64 (-.f64 (*.f64 b a) (*.f64 y x))))) |
(neg.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (neg.f64 (fma.f64 (*.f64 y x) (fma.f64 y x (*.f64 (neg.f64 b) a)) (pow.f64 (*.f64 b a) #s(literal 2 binary64)))))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (+.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (fma.f64 b a (*.f64 y x)))) (neg.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(fma.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (fma.f64 b a (*.f64 y x)) (neg.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(fma.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (pow.f64 (-.f64 (*.f64 b a) (*.f64 y x)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(fma.f64 b a (*.f64 y x)) |
(fma.f64 a b (*.f64 y x)) |
(fma.f64 y x (*.f64 b a)) |
(fma.f64 x y (*.f64 b a)) |
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 b) a))) (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (fma.f64 y x (*.f64 (neg.f64 b) a)))) |
(-.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x)))) |
(+.f64 (/.f64 (pow.f64 (*.f64 b a) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))) (neg.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 b a) (*.f64 y x))))) |
(+.f64 (*.f64 b a) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 b a)) |
(*.f64 y x) |
(*.f64 x y) |
Compiled 5 343 to 507 computations (90.5% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 135 | 1 | 136 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 0 | 0 |
| Total | 135 | 3 | 138 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 60.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
| ✓ | 67.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
| ▶ | 27.4% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
Compiled 59 to 45 computations (23.7% saved)
| 1× | egg-herbie |
Found 3 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 b a) | |
| cost-diff | 0 | #s(approx (+ (* b a) (* y x)) (*.f64 b a)) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 39 |
| 0 | 18 | 39 |
| 1 | 27 | 39 |
| 2 | 32 | 39 |
| 0 | 32 | 35 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
(*.f64 b a) |
b |
a |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
(*.f64 b a) |
b |
a |
Found 3 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 b a) | |
| accuracy | 25.56526364261262 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) | |
| accuracy | 30.749658134432643 | #s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
| 20.0ms | 256× | 0 | valid |
Compiled 25 to 16 computations (36% saved)
ival-mult: 8.0ms (71.6% of total)ival-add: 3.0ms (26.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
(*.f64 b a) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* a b) |
(+ (* a b) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* a b) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* a b) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(+ (* t z) (* x y)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* a (+ b (/ (* x y) a))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* b (+ a (/ (* x y) b))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* b a)) |
| 0.0ms | b | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* b a)) |
| 0.0ms | a | @ | inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* b a)) |
| 0.0ms | y | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* b a)) |
| 0.0ms | x | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (+ (* b a) (* y x)) (* b a)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 249 |
| 1 | 387 | 245 |
| 2 | 1296 | 237 |
| 3 | 3198 | 237 |
| 4 | 7266 | 237 |
| 0 | 8087 | 200 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* a b) |
(+ (* a b) (* x y)) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* x (+ y (/ (* a b) x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* y (+ x (/ (* a b) y))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(+ (* t z) (* x y)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* a (+ b (/ (* x y) a))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* b (+ a (/ (* x y) b))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(fma.f64 b a (*.f64 t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* a b) |
(*.f64 b a) |
(+ (* a b) (* x y)) |
(fma.f64 b a (*.f64 y x)) |
(* x y) |
(*.f64 y x) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* x (+ y (/ (* a b) x))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x))))) |
(fma.f64 b a (*.f64 y x)) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* y (+ x (/ (* a b) y))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(fma.f64 (fma.f64 b a (*.f64 t z)) #s(literal 1 binary64) (*.f64 y x)) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y))))) |
(fma.f64 b a (*.f64 y x)) |
(* t z) |
(*.f64 t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(+ (* t z) (* x y)) |
(fma.f64 t z (*.f64 y x)) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* a (+ b (/ (* x y) a))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) #s(literal 1 binary64) (*.f64 b a)) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a))))) |
(fma.f64 b a (*.f64 y x)) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* b (+ a (/ (* x y) b))) |
(fma.f64 b a (*.f64 y x)) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(fma.f64 (fma.f64 t z (*.f64 y x)) #s(literal 1 binary64) (*.f64 b a)) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b))))) |
(fma.f64 b a (*.f64 y x)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 37 |
| 0 | 18 | 37 |
| 1 | 72 | 37 |
| 2 | 517 | 37 |
| 3 | 7393 | 37 |
| 0 | 8571 | 33 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
(*.f64 b a) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (* b a) (* y x)) (*.f64 b a)) |
(*.f64 b a) |
(*.f64 a b) |
Compiled 251 to 38 computations (84.9% saved)
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 10 | 2 | 12 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 10 | 5 | 15 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 60.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
| ✓ | 67.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
| ▶ | 35.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
| ▶ | 42.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
| ✓ | 27.4% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
Compiled 89 to 71 computations (20.2% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 y x) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) | |
| cost-diff | 0 | (*.f64 t z) | |
| cost-diff | 0 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 40 |
| 0 | 17 | 40 |
| 1 | 24 | 40 |
| 2 | 31 | 40 |
| 3 | 33 | 40 |
| 0 | 33 | 36 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
(*.f64 t z) |
t |
z |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
(*.f64 y x) |
y |
x |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
(*.f64 t z) |
t |
z |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
(*.f64 y x) |
y |
x |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 y x) | |
| accuracy | 41.53984095924613 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) | |
| accuracy | 0.0 | (*.f64 t z) | |
| accuracy | 36.58784199668579 | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
| 63.0ms | 256× | 0 | valid |
Compiled 34 to 15 computations (55.9% saved)
ival-add: 45.0ms (84.1% of total)ival-mult: 8.0ms (14.9% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
(*.f64 y x) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(+ (* a b) (* x y)) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(+ (* t z) (* x y)) |
(* a b) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (* y x)) |
| 0.0ms | y | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (* y x)) |
| 0.0ms | x | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (* y x)) |
| 0.0ms | z | @ | -inf | ((+ (+ (* x y) (* z t)) (* a b)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (* y x)) |
| 0.0ms | x | @ | 0 | ((+ (+ (* x y) (* z t)) (* a b)) (* t z) (+ (+ (* x y) (* z t)) (* a b)) (* y x)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 80 | 173 |
| 1 | 283 | 173 |
| 2 | 908 | 173 |
| 3 | 2197 | 173 |
| 4 | 4541 | 173 |
| 0 | 8208 | 144 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* a b) (* t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(* x y) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(+ (* a b) (* x y)) |
(* t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(+ (* t z) (* x y)) |
(* a b) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
| Outputs |
|---|
(+ (* a b) (* t z)) |
(fma.f64 b a (*.f64 t z)) |
(+ (* a b) (+ (* t z) (* x y))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* x y) |
(*.f64 y x) |
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(+ (* a b) (* x y)) |
(fma.f64 b a (*.f64 y x)) |
(* t z) |
(*.f64 t z) |
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(+ (* t z) (* x y)) |
(fma.f64 t z (*.f64 y x)) |
(* a b) |
(*.f64 b a) |
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b)))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b))))) |
(fma.f64 b a (fma.f64 t z (*.f64 y x))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 36 |
| 0 | 17 | 36 |
| 1 | 49 | 36 |
| 2 | 403 | 36 |
| 3 | 6086 | 36 |
| 0 | 8121 | 32 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
(*.f64 t z) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
(*.f64 y x) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
(*.f64 t z) |
(*.f64 z t) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
(*.f64 y x) |
(*.f64 x y) |
Compiled 218 to 35 computations (83.9% saved)
5 alts after pruning (0 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 13 | 0 | 13 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 3 | 3 |
| Total | 13 | 5 | 18 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 60.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
| ✓ | 67.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
| ✓ | 35.1% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
| ✓ | 42.8% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
| ✓ | 27.4% | #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
Compiled 189 to 101 computations (46.6% saved)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
11 calls:
| 54.0ms | b |
| 3.0ms | y |
| 3.0ms | a |
| 3.0ms | t |
| 3.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 98.4% | 1 | x |
| 98.4% | 1 | y |
| 98.4% | 1 | z |
| 98.4% | 1 | t |
| 98.4% | 1 | a |
| 98.4% | 1 | b |
| 98.4% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 98.4% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 98.4% | 1 | (*.f64 x y) |
| 98.4% | 1 | (*.f64 z t) |
| 98.4% | 1 | (*.f64 a b) |
Compiled 33 to 77 computations (-133.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
11 calls:
| 34.0ms | (*.f64 a b) |
| 7.0ms | x |
| 5.0ms | b |
| 2.0ms | z |
| 2.0ms | t |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.3% | 3 | x |
| 83.5% | 3 | y |
| 81.0% | 3 | z |
| 86.8% | 3 | t |
| 67.8% | 1 | a |
| 76.1% | 4 | b |
| 67.8% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 67.8% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 87.2% | 3 | (*.f64 x y) |
| 89.5% | 3 | (*.f64 z t) |
| 67.8% | 1 | (*.f64 a b) |
Compiled 33 to 77 computations (-133.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
4 calls:
| 2.0ms | (*.f64 x y) |
| 2.0ms | y |
| 2.0ms | t |
| 2.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 78.4% | 3 | y |
| 73.6% | 3 | t |
| 82.2% | 3 | (*.f64 x y) |
| 75.7% | 3 | (*.f64 z t) |
Compiled 8 to 26 computations (-225% saved)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
11 calls:
| 3.0ms | (*.f64 x y) |
| 3.0ms | b |
| 2.0ms | y |
| 2.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 2.0ms | (*.f64 z t) |
| Accuracy | Segments | Branch |
|---|---|---|
| 54.2% | 3 | (*.f64 a b) |
| 52.3% | 3 | a |
| 42.8% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 53.3% | 3 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 62.0% | 3 | t |
| 61.4% | 6 | b |
| 64.3% | 3 | (*.f64 z t) |
| 58.9% | 3 | y |
| 57.1% | 4 | x |
| 55.8% | 3 | z |
| 62.0% | 3 | (*.f64 x y) |
Compiled 33 to 77 computations (-133.3% saved)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) |
6 calls:
| 3.0ms | (*.f64 x y) |
| 1.0ms | z |
| 1.0ms | t |
| 1.0ms | b |
| 1.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 49.2% | 3 | z |
| 52.3% | 3 | b |
| 42.8% | 1 | y |
| 54.3% | 3 | t |
| 44.7% | 2 | (*.f64 x y) |
| 55.6% | 3 | (*.f64 z t) |
Compiled 10 to 38 computations (-280% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
| Outputs |
|---|
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
11 calls:
| 5.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 1.0ms | (*.f64 a b) |
| 1.0ms | b |
| 1.0ms | z |
| 1.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 27.4% | 1 | y |
| 27.4% | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 27.4% | 1 | (*.f64 x y) |
| 27.4% | 1 | z |
| 27.4% | 1 | a |
| 27.4% | 1 | b |
| 27.4% | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 27.4% | 1 | (*.f64 a b) |
| 27.4% | 1 | t |
| 27.4% | 1 | x |
| 27.4% | 1 | (*.f64 z t) |
Compiled 33 to 77 computations (-133.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6560294140048105e-24 | 1.0684883776293883e-20 |
| 0.0ms | -1.1123942438660163e+68 | -7.222086062909135e+67 |
Compiled 14 to 20 computations (-42.9% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 5.350287508351533e+46 | 1.5675646893656666e+47 |
| 0.0ms | -9.64401376721111e+122 | -2.444248148701376e+121 |
Compiled 14 to 20 computations (-42.9% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6560294140048105e-24 | 1.0684883776293883e-20 |
| 0.0ms | -1.1123942438660163e+68 | -7.222086062909135e+67 |
Compiled 14 to 20 computations (-42.9% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 8.627251254653695e+92 | 5.523249676160057e+112 |
| 0.0ms | -5.440433267803302e-39 | -6.237385834659558e-44 |
Compiled 14 to 20 computations (-42.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 223 |
| 1 | 68 | 223 |
| 2 | 73 | 223 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))))) |
(if (<=.f64 (*.f64 x y) #s(literal -499999999999999988854984865702064835028992148797460788696041661331245645444919943038933279420753815842378761035475675250688 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 100000000000000004384584304507619735463404765184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)))) |
(if (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))) |
(if (<=.f64 (*.f64 z t) #s(literal -1915619426082361/383123885216472214589586756787577295904684780545900544 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal 1000000000000000043377296974619186073290293324951939311791773789336116812889681110941323755520 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) (if (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))))) |
(if (or (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) (not (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))) |
(if (<=.f64 (*.f64 x y) #s(literal -499999999999999988854984865702064835028992148797460788696041661331245645444919943038933279420753815842378761035475675250688 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) (if (<=.f64 (*.f64 x y) #s(literal 100000000000000004384584304507619735463404765184 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)))) |
(if (or (<=.f64 (*.f64 x y) #s(literal -499999999999999988854984865702064835028992148797460788696041661331245645444919943038933279420753815842378761035475675250688 binary64)) (not (<=.f64 (*.f64 x y) #s(literal 100000000000000004384584304507619735463404765184 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))) |
(if (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))) |
(if (or (<=.f64 (*.f64 z t) #s(literal -99999999999999995280522225138166806691251291352861698530421623488512 binary64)) (not (<=.f64 (*.f64 z t) #s(literal 5444517870735015/2722258935367507707706996859454145691648 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y x))) |
(if (<=.f64 (*.f64 z t) #s(literal -1915619426082361/383123885216472214589586756787577295904684780545900544 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) (if (<=.f64 (*.f64 z t) #s(literal 1000000000000000043377296974619186073290293324951939311791773789336116812889681110941323755520 binary64)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)))) |
(if (or (<=.f64 (*.f64 z t) #s(literal -1915619426082361/383123885216472214589586756787577295904684780545900544 binary64)) (not (<=.f64 (*.f64 z t) #s(literal 1000000000000000043377296974619186073290293324951939311791773789336116812889681110941323755520 binary64)))) #s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t z)) #s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a)))) |
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* b a) (* y x)) (*.f64 b a))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 128 | 315 |
| 1 | 488 | 309 |
| 2 | 1666 | 297 |
| 3 | 4200 | 297 |
| 0 | 8037 | 252 |
| 0 | 104 | 249 |
| 1 | 387 | 245 |
| 2 | 1296 | 237 |
| 3 | 3198 | 237 |
| 4 | 7266 | 237 |
| 0 | 8087 | 200 |
| 0 | 104 | 249 |
| 1 | 389 | 245 |
| 2 | 1302 | 237 |
| 3 | 3174 | 237 |
| 4 | 7235 | 237 |
| 0 | 8046 | 200 |
| 1× | done |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
Compiled 289 to 188 computations (34.9% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 600 to 258 computations (57% saved)
Loading profile data...