
Time bar (total: 6.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 13 to 9 computations (30.8% saved)
ival-sub: 0.0ms (0% of total)ival-add: 0.0ms (0% of total)ival-mult: 0.0ms (0% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| 754.0ms | 8256× | 0 | valid |
ival-mult: 129.0ms (49.5% of total)ival-sub: 72.0ms (27.6% of total)ival-add: 45.0ms (17.3% of total)const: 11.0ms (4.2% of total)backward-pass: 3.0ms (1.2% of total)| 2× | egg-herbie |
| 2818× | sum4-define |
| 2056× | sum5-define |
| 1890× | sum3-define |
| 1566× | sum5-define |
| 1422× | fmsub-define |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 89 |
| 1 | 91 | 80 |
| 2 | 239 | 80 |
| 3 | 830 | 70 |
| 4 | 3885 | 69 |
| 5 | 7399 | 69 |
| 0 | 8 | 8 |
| 1 | 16 | 8 |
| 2 | 29 | 8 |
| 3 | 59 | 7 |
| 4 | 135 | 7 |
| 5 | 270 | 6 |
| 6 | 472 | 6 |
| 7 | 907 | 6 |
| 8 | 3136 | 6 |
| 9 | 3982 | 6 |
| 10 | 4433 | 6 |
| 11 | 4473 | 6 |
| 0 | 4473 | 6 |
| 1× | iter limit |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
| Outputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
| Inputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(+ (* (- 1 (neg x)) y) (* (neg x) z)) |
(+ (* (- 1 x) (neg y)) (* x z)) |
(+ (* (- 1 x) y) (* x (neg z))) |
(neg (+ (* (- 1 (neg x)) y) (* (neg x) z))) |
(neg (+ (* (- 1 x) (neg y)) (* x z))) |
(neg (+ (* (- 1 x) y) (* x (neg z)))) |
(+ (* (- 1 y) x) (* y z)) |
(+ (* (- 1 z) y) (* z x)) |
(+ (* (- 1 x) z) (* x y)) |
| Outputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(+ y (* x (- z y))) |
(+ (* (- 1 (neg x)) y) (* (neg x) z)) |
(fma x (- y z) y) |
(+ (* (- 1 x) (neg y)) (* x z)) |
(fmsub x z (fnmadd x y y)) |
(+ (* (- 1 x) y) (* x (neg z))) |
(fnmsub x z (fmsub x y y)) |
(neg (+ (* (- 1 (neg x)) y) (* (neg x) z))) |
(- (* x (- z y)) y) |
(neg (+ (* (- 1 x) (neg y)) (* x z))) |
(fnmsub x z (fmsub x y y)) |
(neg (+ (* (- 1 x) y) (* x (neg z)))) |
(fmsub x z (fnmadd x y y)) |
(+ (* (- 1 y) x) (* y z)) |
(fma y z (fnmadd x y x)) |
(+ (* (- 1 z) y) (* z x)) |
(fma x z (fnmadd y z y)) |
(+ (* (- 1 x) z) (* x y)) |
(+ z (* x (- y z))) |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 5 | 0 | - | 0 | - | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | (*.f64 x z) |
| 0 | 0 | - | 0 | - | z |
| 0 | 0 | - | 0 | - | (*.f64 (-.f64 #s(literal 1 binary64) x) y) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 1 binary64) x) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | y |
| 79.0ms | 512× | 0 | valid |
Compiled 68 to 26 computations (61.8% saved)
ival-mult: 8.0ms (54.1% of total)ival-sub: 4.0ms (27% of total)ival-add: 3.0ms (20.3% of total)const: 1.0ms (6.8% of total)backward-pass: 0.0ms (0% of total)Compiled 10 to 6 computations (40% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ▶ | 98.0% | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
Compiled 22 to 14 computations (36.4% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (-.f64 y z) |
| ✓ | cost-diff | 0 | (*.f64 x (-.f64 y z)) |
| ✓ | cost-diff | 0 | (-.f64 y (*.f64 x (-.f64 y z))) |
| ✓ | cost-diff | 0 | (*.f64 x z) |
| ✓ | cost-diff | 0 | (-.f64 #s(literal 1 binary64) x) |
| ✓ | cost-diff | 0 | (*.f64 (-.f64 #s(literal 1 binary64) x) y) |
| ✓ | cost-diff | 128 | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 876× | sum5-define |
| 784× | fnmadd-define |
| 676× | fmsub-define |
| 674× | sum4-define |
| 664× | fnmsub-define |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 42 |
| 1 | 26 | 42 |
| 2 | 60 | 42 |
| 3 | 168 | 37 |
| 4 | 420 | 37 |
| 5 | 1111 | 37 |
| 6 | 2327 | 37 |
| 7 | 3224 | 37 |
| 8 | 3294 | 37 |
| 0 | 3294 | 37 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(* (- 1 x) y) |
(- 1 x) |
1 |
x |
y |
(* x z) |
z |
(- y (* x (- y z))) |
y |
(* x (- y z)) |
x |
(- y z) |
z |
| Outputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(* (- 1 x) y) |
(*.f64 (-.f64 #s(literal 1 binary64) x) y) |
(- 1 x) |
(-.f64 #s(literal 1 binary64) x) |
1 |
#s(literal 1 binary64) |
x |
y |
(* x z) |
(*.f64 x z) |
z |
(- y (* x (- y z))) |
(-.f64 y (*.f64 x (-.f64 y z))) |
y |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
x |
(- y z) |
(-.f64 y z) |
z |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (-.f64 y z) |
| ✓ | accuracy | 100.0% | (-.f64 y (*.f64 x (-.f64 y z))) |
| ✓ | accuracy | 100.0% | (*.f64 x (-.f64 y z)) |
| ✓ | accuracy | 100.0% | (-.f64 #s(literal 1 binary64) x) |
| ✓ | accuracy | 100.0% | (*.f64 x z) |
| ✓ | accuracy | 100.0% | (*.f64 (-.f64 #s(literal 1 binary64) x) y) |
| ✓ | accuracy | 98.2% | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 244.0ms | 256× | 0 | valid |
Compiled 46 to 12 computations (73.9% saved)
ival-mult: 5.0ms (43.9% of total)ival-sub: 4.0ms (35.1% of total)ival-add: 1.0ms (8.8% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (+ (* (- 1 x) y) (* x z))> |
#<alt (* (- 1 x) y)> |
#<alt (- 1 x)> |
#<alt (* x z)> |
#<alt (- y (* x (- y z)))> |
#<alt (* x (- y z))> |
#<alt (- y z)> |
| Outputs |
|---|
#<alt y> |
#<alt (+ y (* x (+ z (* -1 y))))> |
#<alt (+ y (* x (+ z (* -1 y))))> |
#<alt (+ y (* x (+ z (* -1 y))))> |
#<alt (* x (+ z (* -1 y)))> |
#<alt (* x (+ z (+ (* -1 y) (/ y x))))> |
#<alt (* x (+ z (+ (* -1 y) (/ y x))))> |
#<alt (* x (+ z (+ (* -1 y) (/ y x))))> |
#<alt (* -1 (* x (+ y (* -1 z))))> |
#<alt (* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x))))))> |
#<alt (* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x))))))> |
#<alt (* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x))))))> |
#<alt (* x z)> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (- 1 x))> |
#<alt (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y)))))> |
#<alt (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y)))))> |
#<alt (* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y)))))> |
#<alt (* y (- 1 x))> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (+ (* x z) (* y (- 1 x)))> |
#<alt (* x z)> |
#<alt (* z (+ x (/ (* y (- 1 x)) z)))> |
#<alt (* z (+ x (/ (* y (- 1 x)) z)))> |
#<alt (* z (+ x (/ (* y (- 1 x)) z)))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z)))))> |
#<alt y> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (* -1 (* x y))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* -1 (* x y))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt 1> |
#<alt (+ 1 (* -1 x))> |
#<alt (+ 1 (* -1 x))> |
#<alt (+ 1 (* -1 x))> |
#<alt (* -1 x)> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* -1 x)> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (- (* y (- 1 x)) (* -1 (* x z)))> |
#<alt (- (* y (- 1 x)) (* -1 (* x z)))> |
#<alt (- (* y (- 1 x)) (* -1 (* x z)))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (- (+ 1 (/ (* x z) y)) x))> |
#<alt (* y (+ 1 (* -1 x)))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x)))))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x)))))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x)))))> |
#<alt y> |
#<alt (+ y (* x (- z y)))> |
#<alt (+ y (* x (- z y)))> |
#<alt (+ y (* x (- z y)))> |
#<alt (* x (- z y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* -1 (* x (- y z)))> |
#<alt (* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z)))))> |
#<alt (* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z)))))> |
#<alt (* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z)))))> |
#<alt (- y (* x y))> |
#<alt (- (+ y (* x z)) (* x y))> |
#<alt (- (+ y (* x z)) (* x y))> |
#<alt (- (+ y (* x z)) (* x y))> |
#<alt (* x z)> |
#<alt (* z (- (/ y z) (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* z (- (/ y z) (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* z (- (/ y z) (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x)))> |
#<alt (* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x)))> |
#<alt (* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x)))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* x (- y z))> |
#<alt (* -1 (* x z))> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (* x y)> |
#<alt (* y (+ x (* -1 (/ (* x z) y))))> |
#<alt (* y (+ x (* -1 (/ (* x z) y))))> |
#<alt (* y (+ x (* -1 (/ (* x z) y))))> |
#<alt (* x y)> |
#<alt (* -1 (* y (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* -1 (* y (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* -1 (* y (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* x y)> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (+ (* -1 (* x z)) (* x y))> |
#<alt (* -1 (* x z))> |
#<alt (* z (+ (* -1 x) (/ (* x y) z)))> |
#<alt (* z (+ (* -1 x) (/ (* x y) z)))> |
#<alt (* z (+ (* -1 x) (/ (* x y) z)))> |
#<alt (* -1 (* x z))> |
#<alt (* -1 (* z (+ x (* -1 (/ (* x y) z)))))> |
#<alt (* -1 (* z (+ x (* -1 (/ (* x y) z)))))> |
#<alt (* -1 (* z (+ x (* -1 (/ (* x y) z)))))> |
#<alt (* -1 z)> |
#<alt (- y z)> |
#<alt (- y z)> |
#<alt (- y z)> |
#<alt y> |
#<alt (* y (+ 1 (* -1 (/ z y))))> |
#<alt (* y (+ 1 (* -1 (/ z y))))> |
#<alt (* y (+ 1 (* -1 (/ z y))))> |
#<alt y> |
#<alt (* -1 (* y (- (/ z y) 1)))> |
#<alt (* -1 (* y (- (/ z y) 1)))> |
#<alt (* -1 (* y (- (/ z y) 1)))> |
#<alt y> |
#<alt (+ y (* -1 z))> |
#<alt (+ y (* -1 z))> |
#<alt (+ y (* -1 z))> |
#<alt (* -1 z)> |
#<alt (* z (- (/ y z) 1))> |
#<alt (* z (- (/ y z) 1))> |
#<alt (* z (- (/ y z) 1))> |
#<alt (* -1 z)> |
#<alt (* -1 (* z (+ 1 (* -1 (/ y z)))))> |
#<alt (* -1 (* z (+ 1 (* -1 (/ y z)))))> |
#<alt (* -1 (* z (+ 1 (* -1 (/ y z)))))> |
48 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 30.0ms | x | @ | inf | (+ (* (- 1 x) y) (* x z)) |
| 3.0ms | x | @ | -inf | (+ (* (- 1 x) y) (* x z)) |
| 1.0ms | y | @ | inf | (- y z) |
| 1.0ms | y | @ | inf | (* (- 1 x) y) |
| 1.0ms | y | @ | 0 | (+ (* (- 1 x) y) (* x z)) |
| 1× | batch-egg-rewrite |
| 2034× | fmsub-define |
| 2012× | fnmsub-define |
| 1832× | fmm-def |
| 1820× | sum4-define |
| 860× | prod-diff |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 35 |
| 1 | 26 | 35 |
| 2 | 60 | 35 |
| 3 | 168 | 30 |
| 4 | 438 | 30 |
| 5 | 1737 | 30 |
| 6 | 4815 | 30 |
| 0 | 8096 | 30 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* (- 1 x) y) (* x z)) |
(* (- 1 x) y) |
(- 1 x) |
(* x z) |
(- y (* x (- y z))) |
(* x (- y z)) |
(- y z) |
| Outputs |
|---|
(+.f64 y (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(+.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(+.f64 (*.f64 x (-.f64 z y)) y) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 y (*.f64 x z))) |
(+.f64 (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(+.f64 (+.f64 y (*.f64 x z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (neg.f64 (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (neg.f64 (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64)))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal -1 binary64) (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal -1 binary64) (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) #s(literal -1 binary64))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))) #s(literal -1 binary64))) |
(+.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) (*.f64 x y)) |
(+.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) y) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (neg.f64 (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y))) (*.f64 x y)) |
(+.f64 (*.f64 #s(literal 1 binary64) (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y)))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 #s(literal -1 binary64) (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) #s(literal 1 binary64)) (*.f64 x y)) |
(+.f64 (*.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(-.f64 (*.f64 x (-.f64 z y)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y)) |
(-.f64 (*.f64 x z) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(-.f64 (+.f64 y (*.f64 x z)) (*.f64 x y)) |
(-.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(-.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) y) y) |
(fma.f64 #s(literal 1 binary64) y (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(fma.f64 #s(literal 1 binary64) #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 z y)) y) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 y (*.f64 x z))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(fma.f64 x z (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (+.f64 y (*.f64 x z))) |
(fma.f64 x (+.f64 (-.f64 z y) (-.f64 y z)) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x z)) |
(fma.f64 y #s(literal 1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 y (-.f64 #s(literal 1 binary64) x) (*.f64 x z)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (+.f64 y (*.f64 x z))) |
(fma.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64) (*.f64 x z)) |
(fma.f64 z x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x) y) |
(fma.f64 (-.f64 y z) (+.f64 (-.f64 #s(literal 0 binary64) x) x) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64) y) |
(fma.f64 #s(literal 0 binary64) (*.f64 x (-.f64 y z)) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x (-.f64 z y)) #s(literal 1 binary64) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) y) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (+.f64 y (*.f64 x z))) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 x z)) |
(fma.f64 (-.f64 z y) x y) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal 1 binary64) (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal -1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x z) #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x y) #s(literal -1 binary64) (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64)) (*.f64 x z)) |
(fma.f64 (+.f64 y (*.f64 x z)) #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 x z)) |
(fma.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 1 binary64) #s(literal 0 binary64)) |
(neg.f64 (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(*.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64)) |
(*.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) |
(+.f64 y (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) y) |
(+.f64 (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x y)) (*.f64 x y)) |
(+.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 y z))) |
(+.f64 (neg.f64 (-.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x y))) (*.f64 x y)) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) (*.f64 (-.f64 #s(literal 1 binary64) x) (*.f64 x y))) |
(+.f64 (*.f64 #s(literal -1 binary64) (-.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (-.f64 #s(literal 0 binary64) y) y)) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(+.f64 (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (-.f64 z y)))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x y)) #s(literal 1 binary64)) (*.f64 x y)) |
(+.f64 (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (-.f64 #s(literal 1 binary64) x)) (*.f64 (*.f64 x y) (-.f64 #s(literal 1 binary64) x))) |
(+.f64 (*.f64 (-.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) y) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 (-.f64 (-.f64 #s(literal 0 binary64) y) y) (+.f64 x #s(literal -1 binary64))) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(+.f64 (*.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) (*.f64 x (-.f64 y z))) |
(-.f64 y (*.f64 x y)) |
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) y (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) y) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) y) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) y #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 y #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 y (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) y) |
(fma.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) (-.f64 #s(literal 1 binary64) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y y) |
(fma.f64 #s(literal -1 binary64) (*.f64 x y) y) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal 1 binary64) y) |
(fma.f64 (*.f64 x y) #s(literal -1 binary64) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x y) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64)) #s(literal 0 binary64)) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y) #s(literal 0 binary64)) |
(neg.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(*.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(*.f64 (-.f64 #s(literal 1 binary64) x) y) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(*.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64))) |
(*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(*.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)) |
(+.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 1 binary64) x)) |
(+.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64)) |
(-.f64 #s(literal 1 binary64) x) |
(-.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (+.f64 x #s(literal -1 binary64))) |
(-.f64 (-.f64 #s(literal 0 binary64) x) #s(literal -1 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64)) |
(fma.f64 x #s(literal -1 binary64) #s(literal 1 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64)) #s(literal 0 binary64)) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(neg.f64 (+.f64 x #s(literal -1 binary64))) |
(*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) |
(*.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))) |
(*.f64 (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 x z)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 (*.f64 x y) (*.f64 x z))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 x z)))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 (+.f64 (*.f64 x y) (*.f64 x z)) #s(literal 1 binary64))) |
(+.f64 (*.f64 x z) #s(literal 0 binary64)) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 x z) (*.f64 x (-.f64 z y)))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (+.f64 (*.f64 x z) (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) (*.f64 x (-.f64 y z))) |
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 (*.f64 x z) #s(literal 0 binary64)) |
(-.f64 (+.f64 (*.f64 x z) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x z) #s(literal 0 binary64)) |
(fma.f64 x z #s(literal 0 binary64)) |
(fma.f64 z x #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) z) (*.f64 x z)) |
(fma.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) x) (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x z) #s(literal 1 binary64) #s(literal 0 binary64)) |
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(*.f64 #s(literal 1 binary64) (*.f64 x z)) |
(*.f64 x z) |
(*.f64 z x) |
(*.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z)) |
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal -1 binary64)) |
(*.f64 (*.f64 x z) #s(literal 1 binary64)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(+.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(+.f64 (*.f64 x (-.f64 z y)) y) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 y (*.f64 x z))) |
(+.f64 (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(+.f64 (+.f64 y (*.f64 x z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (neg.f64 (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (neg.f64 (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64)))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal -1 binary64) (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 #s(literal -1 binary64) (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) #s(literal -1 binary64))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 (+.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (+.f64 y (*.f64 x z))) #s(literal -1 binary64))) |
(+.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) (*.f64 x y)) |
(+.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 y z))) |
(+.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) y) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (neg.f64 (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y))) (*.f64 x y)) |
(+.f64 (*.f64 #s(literal 1 binary64) (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y)))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 #s(literal -1 binary64) (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) #s(literal 1 binary64)) (*.f64 x y)) |
(+.f64 (*.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (-.f64 (-.f64 (*.f64 x (-.f64 y z)) y) y) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(-.f64 (*.f64 x (-.f64 z y)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y)) |
(-.f64 (*.f64 x z) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(-.f64 (+.f64 y (*.f64 x z)) (*.f64 x y)) |
(-.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(-.f64 (-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) y) y) |
(fma.f64 #s(literal 1 binary64) y (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(fma.f64 #s(literal 1 binary64) #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 z y)) y) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 y (*.f64 x z))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) |
(fma.f64 x z (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (+.f64 y (*.f64 x z))) |
(fma.f64 x (+.f64 (-.f64 z y) (-.f64 y z)) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 x z)) |
(fma.f64 y #s(literal 1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 y (-.f64 #s(literal 1 binary64) x) (*.f64 x z)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (+.f64 y (*.f64 x z))) |
(fma.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) #s(literal 1 binary64) (*.f64 x z)) |
(fma.f64 z x (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x) y) |
(fma.f64 (-.f64 y z) (+.f64 (-.f64 #s(literal 0 binary64) x) x) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal 0 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64) y) |
(fma.f64 #s(literal 0 binary64) (*.f64 x (-.f64 y z)) (+.f64 y (*.f64 x (-.f64 z y)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x (-.f64 z y)) #s(literal 1 binary64) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) y) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (+.f64 y (*.f64 x z))) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) y) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 x z)) |
(fma.f64 (-.f64 z y) x y) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal 1 binary64) (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal -1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x z) #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) x) y)) |
(fma.f64 (*.f64 x y) #s(literal -1 binary64) (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (+.f64 y (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64)) (*.f64 x z)) |
(fma.f64 (+.f64 y (*.f64 x z)) #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 x z)) |
(fma.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 1 binary64) #s(literal 0 binary64)) |
(neg.f64 (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 #s(literal 1 binary64) (+.f64 y (*.f64 x (-.f64 z y)))) |
(*.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64)) |
(*.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 1 binary64)) |
(+.f64 (*.f64 x (-.f64 y z)) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 y z))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) (*.f64 x y)) |
(+.f64 (*.f64 x y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(+.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 x (-.f64 y z))) (*.f64 x (-.f64 z y))) |
(+.f64 (neg.f64 (-.f64 (*.f64 x (-.f64 z y)) (*.f64 x y))) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 (-.f64 z y) y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 z y)) (*.f64 x y))) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 (-.f64 (-.f64 z y) y) (-.f64 #s(literal 0 binary64) x)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 (-.f64 (*.f64 x (-.f64 z y)) (*.f64 x y)) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x (-.f64 y z)) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x y) (*.f64 x z)) |
(-.f64 (+.f64 (*.f64 x (-.f64 y z)) (*.f64 x (-.f64 y z))) (*.f64 x (-.f64 y z))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 y z)) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z)) (*.f64 x y)) |
(fma.f64 #s(literal 1 binary64) (*.f64 x y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 x y (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 x (-.f64 y z) #s(literal 0 binary64)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) z) (*.f64 x y)) |
(fma.f64 y x (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 z (-.f64 #s(literal 0 binary64) x) (*.f64 x y)) |
(fma.f64 (-.f64 y z) x #s(literal 0 binary64)) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) x (*.f64 x y)) |
(fma.f64 (*.f64 x (-.f64 z y)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) z (*.f64 x y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 z y)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x z) (*.f64 x y)) |
(fma.f64 (-.f64 z y) (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z)) #s(literal 1 binary64) (*.f64 x y)) |
(fma.f64 (*.f64 x z) #s(literal -1 binary64) (*.f64 x y)) |
(fma.f64 (*.f64 x y) #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(neg.f64 (*.f64 x (-.f64 z y))) |
(*.f64 #s(literal 1 binary64) (*.f64 x (-.f64 y z))) |
(*.f64 x (-.f64 y z)) |
(*.f64 (-.f64 y z) x) |
(*.f64 (*.f64 x (-.f64 y z)) #s(literal 1 binary64)) |
(*.f64 (*.f64 x (-.f64 z y)) #s(literal -1 binary64)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 z y))) |
(*.f64 (-.f64 z y) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 y (-.f64 #s(literal 0 binary64) z)) |
(+.f64 (-.f64 y z) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 y z)) |
(+.f64 (-.f64 #s(literal 0 binary64) z) y) |
(+.f64 (neg.f64 (-.f64 (-.f64 z y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 #s(literal -1 binary64) (-.f64 (-.f64 z y) y)) (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (*.f64 (-.f64 (-.f64 z y) y) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 y z) |
(-.f64 (-.f64 y z) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (-.f64 z y)) |
(-.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) y)) |
(fma.f64 #s(literal 1 binary64) y (-.f64 #s(literal 0 binary64) z)) |
(fma.f64 #s(literal 1 binary64) (-.f64 y z) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) z) y) |
(fma.f64 y #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) z)) |
(fma.f64 z #s(literal -1 binary64) y) |
(fma.f64 (-.f64 y z) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) #s(literal 1 binary64) y) |
(fma.f64 #s(literal -1 binary64) z y) |
(fma.f64 #s(literal -1 binary64) (-.f64 z y) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) z)) |
(fma.f64 (-.f64 z y) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) z)) |
(neg.f64 (-.f64 z y)) |
(*.f64 #s(literal 1 binary64) (-.f64 y z)) |
(*.f64 (-.f64 y z) #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 z y)) |
(*.f64 (-.f64 z y) #s(literal -1 binary64)) |
| 1× | egg-herbie |
| 2192× | *-lowering-*.f32 |
| 2192× | *-lowering-*.f64 |
| 1824× | fnmsub-define |
| 1188× | /-lowering-/.f32 |
| 1188× | /-lowering-/.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 113 | 900 |
| 1 | 404 | 819 |
| 2 | 1219 | 819 |
| 3 | 3854 | 819 |
| 4 | 7886 | 819 |
| 0 | 8138 | 819 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
y |
(+ y (* x (+ z (* -1 y)))) |
(+ y (* x (+ z (* -1 y)))) |
(+ y (* x (+ z (* -1 y)))) |
(* x (+ z (* -1 y))) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(* -1 (* x (+ y (* -1 z)))) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(* x z) |
(+ (* x z) (* y (- 1 x))) |
(+ (* x z) (* y (- 1 x))) |
(+ (* x z) (* y (- 1 x))) |
(* y (- 1 x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (- 1 x)) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(* y (- 1 x)) |
(+ (* x z) (* y (- 1 x))) |
(+ (* x z) (* y (- 1 x))) |
(+ (* x z) (* y (- 1 x))) |
(* x z) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
y |
(+ y (* -1 (* x y))) |
(+ y (* -1 (* x y))) |
(+ y (* -1 (* x y))) |
(* -1 (* x y)) |
(* x (+ (* -1 y) (/ y x))) |
(* x (+ (* -1 y) (/ y x))) |
(* x (+ (* -1 y) (/ y x))) |
(* -1 (* x y)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
1 |
(+ 1 (* -1 x)) |
(+ 1 (* -1 x)) |
(+ 1 (* -1 x)) |
(* -1 x) |
(* x (- (/ 1 x) 1)) |
(* x (- (/ 1 x) 1)) |
(* x (- (/ 1 x) 1)) |
(* -1 x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(* -1 (* x (- 1 (/ 1 x)))) |
(* -1 (* x (- 1 (/ 1 x)))) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(* y (- 1 x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(* y (+ 1 (* -1 x))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
y |
(+ y (* x (- z y))) |
(+ y (* x (- z y))) |
(+ y (* x (- z y))) |
(* x (- z y)) |
(* x (- (+ z (/ y x)) y)) |
(* x (- (+ z (/ y x)) y)) |
(* x (- (+ z (/ y x)) y)) |
(* -1 (* x (- y z))) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(- y (* x y)) |
(- (+ y (* x z)) (* x y)) |
(- (+ y (* x z)) (* x y)) |
(- (+ y (* x z)) (* x y)) |
(* x z) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(* x z) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* x (- y z)) |
(* -1 (* x z)) |
(+ (* -1 (* x z)) (* x y)) |
(+ (* -1 (* x z)) (* x y)) |
(+ (* -1 (* x z)) (* x y)) |
(* x y) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(* x y) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(* x y) |
(+ (* -1 (* x z)) (* x y)) |
(+ (* -1 (* x z)) (* x y)) |
(+ (* -1 (* x z)) (* x y)) |
(* -1 (* x z)) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(* -1 (* x z)) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(* -1 z) |
(- y z) |
(- y z) |
(- y z) |
y |
(* y (+ 1 (* -1 (/ z y)))) |
(* y (+ 1 (* -1 (/ z y)))) |
(* y (+ 1 (* -1 (/ z y)))) |
y |
(* -1 (* y (- (/ z y) 1))) |
(* -1 (* y (- (/ z y) 1))) |
(* -1 (* y (- (/ z y) 1))) |
y |
(+ y (* -1 z)) |
(+ y (* -1 z)) |
(+ y (* -1 z)) |
(* -1 z) |
(* z (- (/ y z) 1)) |
(* z (- (/ y z) 1)) |
(* z (- (/ y z) 1)) |
(* -1 z) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
| Outputs |
|---|
y |
(+ y (* x (+ z (* -1 y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (+ z (* -1 y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (+ z (* -1 y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (+ z (* -1 y))) |
(*.f64 x (-.f64 z y)) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (+ z (+ (* -1 y) (/ y x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (+ y (* -1 z)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (+ y (+ (* -1 z) (* -1 (/ y x)))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ (* x z) y))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (- 1 x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (+ x (/ (* y (- 1 x)) z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (* y (- 1 x)) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
y |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 x) |
(-.f64 #s(literal 0 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 x) |
(-.f64 #s(literal 0 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(- (* y (- 1 x)) (* -1 (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (- (+ 1 (/ (* x z) y)) x)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (+ 1 (* -1 x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (+ 1 (* -1 x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
y |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (- y z))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (- (* -1 (/ y x)) (* -1 (- y z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(- y (* x y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(- (+ y (* x z)) (* x y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(- (+ y (* x z)) (* x y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(- (+ y (* x z)) (* x y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (- (/ y z) (+ (* -1 x) (/ (* x y) z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (- (* -1 (/ (- y (* x y)) z)) x))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* x (- y z)) |
(*.f64 x (-.f64 y z)) |
(* -1 (* x z)) |
(*.f64 x (-.f64 #s(literal 0 binary64) z)) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(* x y) |
(*.f64 y x) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* y (+ x (* -1 (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* x y) |
(*.f64 y x) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* -1 (* y (+ (* -1 x) (/ (* x z) y)))) |
(*.f64 x (-.f64 y z)) |
(* x y) |
(*.f64 y x) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(+ (* -1 (* x z)) (* x y)) |
(*.f64 x (-.f64 y z)) |
(* -1 (* x z)) |
(*.f64 x (-.f64 #s(literal 0 binary64) z)) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(*.f64 x (-.f64 y z)) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(*.f64 x (-.f64 y z)) |
(* z (+ (* -1 x) (/ (* x y) z))) |
(*.f64 x (-.f64 y z)) |
(* -1 (* x z)) |
(*.f64 x (-.f64 #s(literal 0 binary64) z)) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(*.f64 x (-.f64 y z)) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(*.f64 x (-.f64 y z)) |
(* -1 (* z (+ x (* -1 (/ (* x y) z))))) |
(*.f64 x (-.f64 y z)) |
(* -1 z) |
(-.f64 #s(literal 0 binary64) z) |
(- y z) |
(-.f64 y z) |
(- y z) |
(-.f64 y z) |
(- y z) |
(-.f64 y z) |
y |
(* y (+ 1 (* -1 (/ z y)))) |
(-.f64 y z) |
(* y (+ 1 (* -1 (/ z y)))) |
(-.f64 y z) |
(* y (+ 1 (* -1 (/ z y)))) |
(-.f64 y z) |
y |
(* -1 (* y (- (/ z y) 1))) |
(-.f64 y z) |
(* -1 (* y (- (/ z y) 1))) |
(-.f64 y z) |
(* -1 (* y (- (/ z y) 1))) |
(-.f64 y z) |
y |
(+ y (* -1 z)) |
(-.f64 y z) |
(+ y (* -1 z)) |
(-.f64 y z) |
(+ y (* -1 z)) |
(-.f64 y z) |
(* -1 z) |
(-.f64 #s(literal 0 binary64) z) |
(* z (- (/ y z) 1)) |
(-.f64 y z) |
(* z (- (/ y z) 1)) |
(-.f64 y z) |
(* z (- (/ y z) 1)) |
(-.f64 y z) |
(* -1 z) |
(-.f64 #s(literal 0 binary64) z) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
(-.f64 y z) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
(-.f64 y z) |
(* -1 (* z (+ 1 (* -1 (/ y z))))) |
(-.f64 y z) |
Compiled 5772 to 583 computations (89.9% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 548 | 6 | 554 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 0 | 0 |
| Total | 549 | 7 | 556 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 (-.f64 z y) x y) |
| ✓ | 98.0% | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 73.6% | (+.f64 y (*.f64 x z)) | |
| ▶ | 63.5% | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ▶ | 65.6% | (*.f64 x (-.f64 z y)) |
| ▶ | 39.4% | (*.f64 x z) |
| ▶ | 36.9% | y |
Compiled 98 to 64 computations (34.7% saved)
| 1× | egg-herbie |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (-.f64 #s(literal 1 binary64) x) |
| ✓ | cost-diff | 0 | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ✓ | cost-diff | 0 | (-.f64 z y) |
| ✓ | cost-diff | 0 | (*.f64 x (-.f64 z y)) |
| ✓ | cost-diff | 0 | (*.f64 x z) |
| ✓ | cost-diff | 0 | (-.f64 z y) |
| ✓ | cost-diff | 6272 | (fma.f64 (-.f64 z y) x y) |
| 1536× | sum4-define |
| 1370× | sum3-define |
| 928× | fnmadd-define |
| 860× | fma-define |
| 644× | fma-lowering-fma.f32 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 40 |
| 1 | 21 | 40 |
| 2 | 39 | 40 |
| 3 | 80 | 39 |
| 4 | 178 | 39 |
| 5 | 356 | 39 |
| 6 | 668 | 39 |
| 7 | 1207 | 39 |
| 8 | 3244 | 39 |
| 9 | 3842 | 39 |
| 10 | 4011 | 39 |
| 11 | 4015 | 39 |
| 12 | 4015 | 39 |
| 13 | 4111 | 39 |
| 0 | 4111 | 39 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(+ (* (- z y) x) y) |
(- z y) |
z |
y |
x |
y |
(* x z) |
x |
z |
(* x (- z y)) |
x |
(- z y) |
z |
y |
(* y (- 1 x)) |
y |
(- 1 x) |
1 |
x |
| Outputs |
|---|
(+ (* (- z y) x) y) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(- z y) |
(-.f64 z y) |
z |
y |
x |
y |
(* x z) |
(*.f64 z x) |
x |
z |
(* x (- z y)) |
(*.f64 (-.f64 z y) x) |
x |
(- z y) |
(-.f64 z y) |
z |
y |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
y |
(- 1 x) |
(-.f64 #s(literal 1 binary64) x) |
1 |
#s(literal 1 binary64) |
x |
Found 7 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (-.f64 #s(literal 1 binary64) x) |
| ✓ | accuracy | 100.0% | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ✓ | accuracy | 100.0% | (-.f64 z y) |
| ✓ | accuracy | 100.0% | (*.f64 x (-.f64 z y)) |
| ✓ | accuracy | 100.0% | (*.f64 x z) |
| ✓ | accuracy | 100.0% | (-.f64 z y) |
| ✓ | accuracy | 100.0% | (fma.f64 (-.f64 z y) x y) |
| 100.0ms | 256× | 0 | valid |
Compiled 44 to 11 computations (75% saved)
ival-sub: 7.0ms (34.6% of total)ival-mult: 7.0ms (34.6% of total)compiled-spec: 4.0ms (19.8% of total)ival-add: 1.0ms (4.9% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (+ (* (- z y) x) y)> |
#<alt (- z y)> |
#<alt (* x z)> |
#<alt (* x (- z y))> |
#<alt (* y (- 1 x))> |
#<alt (- 1 x)> |
| Outputs |
|---|
#<alt (+ y (* -1 (* x y)))> |
#<alt (+ y (+ (* -1 (* x y)) (* x z)))> |
#<alt (+ y (+ (* -1 (* x y)) (* x z)))> |
#<alt (+ y (+ (* -1 (* x y)) (* x z)))> |
#<alt (* x z)> |
#<alt (* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z))))> |
#<alt (* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z))))> |
#<alt (* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z)))))> |
#<alt (* x z)> |
#<alt (+ (* x z) (* y (+ 1 (* -1 x))))> |
#<alt (+ (* x z) (* y (+ 1 (* -1 x))))> |
#<alt (+ (* x z) (* y (+ 1 (* -1 x))))> |
#<alt (* y (+ 1 (* -1 x)))> |
#<alt (* y (+ 1 (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* y (+ 1 (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* y (+ 1 (+ (* -1 x) (/ (* x z) y))))> |
#<alt (* -1 (* y (- x 1)))> |
#<alt (* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1)))> |
#<alt (* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1)))> |
#<alt (* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1)))> |
#<alt y> |
#<alt (+ y (* x (- z y)))> |
#<alt (+ y (* x (- z y)))> |
#<alt (+ y (* x (- z y)))> |
#<alt (* x (- z y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* x (- (+ z (/ y x)) y))> |
#<alt (* x (- z y))> |
#<alt (* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x)))))> |
#<alt (* -1 y)> |
#<alt (- z y)> |
#<alt (- z y)> |
#<alt (- z y)> |
#<alt z> |
#<alt (* z (+ 1 (* -1 (/ y z))))> |
#<alt (* z (+ 1 (* -1 (/ y z))))> |
#<alt (* z (+ 1 (* -1 (/ y z))))> |
#<alt z> |
#<alt (* -1 (* z (- (/ y z) 1)))> |
#<alt (* -1 (* z (- (/ y z) 1)))> |
#<alt (* -1 (* z (- (/ y z) 1)))> |
#<alt z> |
#<alt (+ z (* -1 y))> |
#<alt (+ z (* -1 y))> |
#<alt (+ z (* -1 y))> |
#<alt (* -1 y)> |
#<alt (* y (- (/ z y) 1))> |
#<alt (* y (- (/ z y) 1))> |
#<alt (* y (- (/ z y) 1))> |
#<alt (* -1 y)> |
#<alt (* -1 (* y (+ 1 (* -1 (/ z y)))))> |
#<alt (* -1 (* y (+ 1 (* -1 (/ z y)))))> |
#<alt (* -1 (* y (+ 1 (* -1 (/ z y)))))> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* -1 (* x y))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (* x z)> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (* -1 (* x y))> |
#<alt (* y (+ (* -1 x) (/ (* x z) y)))> |
#<alt (* y (+ (* -1 x) (/ (* x z) y)))> |
#<alt (* y (+ (* -1 x) (/ (* x z) y)))> |
#<alt (* -1 (* x y))> |
#<alt (* -1 (* y (+ x (* -1 (/ (* x z) y)))))> |
#<alt (* -1 (* y (+ x (* -1 (/ (* x z) y)))))> |
#<alt (* -1 (* y (+ x (* -1 (/ (* x z) y)))))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt (* y (- 1 x))> |
#<alt y> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (+ y (* -1 (* x y)))> |
#<alt (* -1 (* x y))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* x (+ (* -1 y) (/ y x)))> |
#<alt (* -1 (* x y))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ y (* -1 (/ y x)))))> |
#<alt 1> |
#<alt (+ 1 (* -1 x))> |
#<alt (+ 1 (* -1 x))> |
#<alt (+ 1 (* -1 x))> |
#<alt (* -1 x)> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* x (- (/ 1 x) 1))> |
#<alt (* -1 x)> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
#<alt (* -1 (* x (- 1 (/ 1 x))))> |
39 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (+ (* (- z y) x) y) |
| 0.0ms | z | @ | 0 | (+ (* (- z y) x) y) |
| 0.0ms | z | @ | -inf | (+ (* (- z y) x) y) |
| 0.0ms | z | @ | inf | (+ (* (- z y) x) y) |
| 0.0ms | x | @ | 0 | (+ (* (- z y) x) y) |
| 1× | batch-egg-rewrite |
| 1668× | sum5-define |
| 1566× | fnmadd-define |
| 1390× | fmm-def |
| 1330× | prod-diff |
| 1270× | fnmsub-define |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 25 |
| 1 | 21 | 25 |
| 2 | 39 | 25 |
| 3 | 80 | 24 |
| 4 | 178 | 24 |
| 5 | 395 | 24 |
| 6 | 937 | 24 |
| 7 | 3349 | 24 |
| 8 | 7520 | 24 |
| 0 | 8265 | 24 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* (- z y) x) y) |
(- z y) |
(* x z) |
(* x (- z y)) |
(* y (- 1 x)) |
(- 1 x) |
| Outputs |
|---|
(+.f64 y (*.f64 (-.f64 z y) x)) |
(+.f64 (*.f64 (-.f64 z y) x) y) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) #s(literal 0 binary64)) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z)))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64))))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (-.f64 y y)) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (-.f64 (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 z x))) #s(literal -1 binary64)) (+.f64 y (*.f64 z x)))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z))))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 #s(literal 1 binary64) (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64)))))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z))) #s(literal 1 binary64))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 1 binary64))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (-.f64 (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z))) #s(literal 0 binary64))) |
(+.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (-.f64 (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64)))) #s(literal 0 binary64))) |
(+.f64 (*.f64 z x) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 z x)) |
(+.f64 #s(literal 0 binary64) (+.f64 y (*.f64 (-.f64 z y) x))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (+.f64 y (*.f64 z x))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 z x))) #s(literal -1 binary64))) |
(+.f64 (*.f64 y x) (-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 y x))) |
(+.f64 (+.f64 y (*.f64 z x)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(+.f64 (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z))) (+.f64 y (*.f64 (-.f64 z y) x))) |
(+.f64 (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64)))) (+.f64 y (*.f64 (-.f64 z y) x))) |
(+.f64 (-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 y x)) (*.f64 y x)) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 (+.f64 x #s(literal -1 binary64)) x)) (*.f64 x (+.f64 y z))) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (-.f64 y z) y)) (-.f64 (*.f64 y x) (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 y x)) #s(literal 1 binary64)) (*.f64 y x)) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 z x))) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(+.f64 (-.f64 y (*.f64 x (-.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) y)))) (*.f64 y x)) |
(+.f64 (-.f64 (*.f64 z x) (+.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 (*.f64 y x) #s(literal 2 binary64)))) (*.f64 y x)) |
(+.f64 (-.f64 (+.f64 y (*.f64 z x)) (*.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 y x)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(-.f64 y (*.f64 (-.f64 z y) (-.f64 #s(literal 0 binary64) x))) |
(-.f64 y (*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y))) |
(-.f64 (*.f64 (-.f64 z y) x) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) #s(literal 0 binary64)) |
(-.f64 (*.f64 z x) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(-.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 z x)))) |
(-.f64 (+.f64 y (*.f64 z x)) (*.f64 y x)) |
(-.f64 (-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (*.f64 x (-.f64 #s(literal 0 binary64) z))) (*.f64 z x)) |
(-.f64 (-.f64 (+.f64 y (*.f64 (-.f64 z y) x)) (-.f64 #s(literal 0 binary64) y)) y) |
(fma.f64 z x (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 y #s(literal 1 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 y (-.f64 #s(literal 1 binary64) x) (*.f64 z x)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (+.f64 y (*.f64 z x))) |
(fma.f64 y (+.f64 x (-.f64 #s(literal 1 binary64) x)) (*.f64 (-.f64 z y) x)) |
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) x) (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 z y) x y) |
(fma.f64 x z (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 x (-.f64 z y) y) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (+.f64 y (*.f64 z x))) |
(fma.f64 x (+.f64 (-.f64 z y) y) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 x (+.f64 y (-.f64 z y)) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 (*.f64 (-.f64 z y) x) #s(literal 1 binary64) y) |
(fma.f64 (+.f64 y (*.f64 (-.f64 z y) x)) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 z x) #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 #s(literal 1 binary64) y (*.f64 (-.f64 z y) x)) |
(fma.f64 #s(literal 1 binary64) (*.f64 (-.f64 z y) x) y) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 (-.f64 z y) x)) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 z x) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 z x)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x)) (+.f64 y (*.f64 z x))) |
(fma.f64 #s(literal 1 binary64) (+.f64 y (*.f64 z x)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) y (*.f64 z x)) |
(fma.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64) (*.f64 z x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (+.f64 y (*.f64 z x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) y) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (+.f64 y (*.f64 z x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64)) (*.f64 z x)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (*.f64 (-.f64 z y) x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (+.f64 y (*.f64 z x))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) (*.f64 z x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) y) |
(fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z)) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 y (*.f64 z x))) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) #s(literal 1 binary64) (+.f64 y (*.f64 z x))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (+.f64 y (*.f64 z x))) |
(fma.f64 (+.f64 y (*.f64 z x)) #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x) y) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 z x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal -1 binary64) (*.f64 z x)) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64) y) |
(fma.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(neg.f64 (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 (+.f64 y (*.f64 (-.f64 z y) x)) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (+.f64 y (*.f64 (-.f64 z y) x))) |
(*.f64 #s(literal -1 binary64) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(*.f64 (-.f64 (*.f64 x (-.f64 y z)) y) #s(literal -1 binary64)) |
(+.f64 z (-.f64 #s(literal 0 binary64) y)) |
(+.f64 (-.f64 z y) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 z y)) |
(+.f64 (-.f64 #s(literal 0 binary64) y) z) |
(-.f64 z y) |
(-.f64 (-.f64 z y) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (-.f64 y z)) |
(-.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) z)) |
(-.f64 (+.f64 (-.f64 z y) z) z) |
(fma.f64 z #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y)) |
(fma.f64 y #s(literal -1 binary64) z) |
(fma.f64 (-.f64 z y) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) z (-.f64 #s(literal 0 binary64) y)) |
(fma.f64 #s(literal 1 binary64) (-.f64 z y) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) y) z) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal 1 binary64) z) |
(fma.f64 #s(literal -1 binary64) y z) |
(fma.f64 #s(literal -1 binary64) (-.f64 y z) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) y)) |
(fma.f64 (-.f64 y z) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y)) |
(neg.f64 (-.f64 y z)) |
(*.f64 (-.f64 z y) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (-.f64 z y)) |
(*.f64 #s(literal -1 binary64) (-.f64 y z)) |
(*.f64 (-.f64 y z) #s(literal -1 binary64)) |
(+.f64 (*.f64 (-.f64 z y) x) (*.f64 y x)) |
(+.f64 (*.f64 z x) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (*.f64 z x)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 x (+.f64 y z))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 (*.f64 x (+.f64 y z)) #s(literal 1 binary64))) |
(+.f64 (*.f64 y x) (*.f64 (-.f64 z y) x)) |
(+.f64 (*.f64 x (+.f64 y z)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(-.f64 (*.f64 z x) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 y x) (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (+.f64 y z)) (*.f64 y x)) |
(-.f64 (-.f64 (*.f64 z x) (*.f64 x (-.f64 #s(literal 0 binary64) z))) (*.f64 z x)) |
(fma.f64 z x #s(literal 0 binary64)) |
(fma.f64 y x (*.f64 (-.f64 z y) x)) |
(fma.f64 x z #s(literal 0 binary64)) |
(fma.f64 x y (*.f64 (-.f64 z y) x)) |
(fma.f64 x (+.f64 (-.f64 z y) y) #s(literal 0 binary64)) |
(fma.f64 x (+.f64 y (-.f64 z y)) #s(literal 0 binary64)) |
(fma.f64 x (+.f64 y z) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 z x) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 z x) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 (-.f64 z y) x)) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (+.f64 y z)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(neg.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 z x) |
(*.f64 x z) |
(*.f64 x (+.f64 (-.f64 z y) y)) |
(*.f64 x (+.f64 y (-.f64 z y))) |
(*.f64 (*.f64 z x) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 z x)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x)) |
(*.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64)) |
(+.f64 (*.f64 (-.f64 z y) x) #s(literal 0 binary64)) |
(+.f64 (*.f64 (-.f64 z y) x) (+.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 z x) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(+.f64 #s(literal 0 binary64) (*.f64 (-.f64 z y) x)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 z x)) |
(+.f64 (*.f64 y x) (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (-.f64 y z) y))) |
(+.f64 (*.f64 y x) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (-.f64 y z) y)) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (-.f64 y z) y)) #s(literal 1 binary64)) (*.f64 y x)) |
(+.f64 (-.f64 (*.f64 z x) (*.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 y x)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) y)))) (*.f64 y x)) |
(-.f64 (*.f64 (-.f64 z y) x) #s(literal 0 binary64)) |
(-.f64 (*.f64 z x) (*.f64 y x)) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 y z))) |
(-.f64 #s(literal 0 binary64) (*.f64 (-.f64 z y) (-.f64 #s(literal 0 binary64) x))) |
(-.f64 #s(literal 0 binary64) (*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (-.f64 (*.f64 (-.f64 z y) x) (*.f64 x (-.f64 #s(literal 0 binary64) z))) (*.f64 z x)) |
(fma.f64 z x (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 y #s(literal 0 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 z x)) |
(fma.f64 (-.f64 z y) x #s(literal 0 binary64)) |
(fma.f64 x z (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 x (-.f64 z y) #s(literal 0 binary64)) |
(fma.f64 x #s(literal 0 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 z x)) |
(fma.f64 x (+.f64 (-.f64 z y) y) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 x (+.f64 y (-.f64 z y)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 (-.f64 z y) x) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 z x) #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (-.f64 z y) x) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 z x) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 #s(literal 1 binary64) #s(literal 0 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 z x)) |
(fma.f64 #s(literal 0 binary64) #s(literal 1 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 #s(literal 0 binary64) (*.f64 y x) (*.f64 (-.f64 z y) x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 z x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 z x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (*.f64 z x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) #s(literal 1 binary64) (*.f64 z x)) |
(fma.f64 (*.f64 y x) #s(literal 0 binary64) (*.f64 (-.f64 z y) x)) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (*.f64 z x)) |
(fma.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(neg.f64 (*.f64 x (-.f64 y z))) |
(neg.f64 (*.f64 (-.f64 z y) (-.f64 #s(literal 0 binary64) x))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y))) |
(*.f64 (-.f64 z y) x) |
(*.f64 x (-.f64 z y)) |
(*.f64 (*.f64 (-.f64 z y) x) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (*.f64 (-.f64 z y) x)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x)) |
(*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64)) |
(+.f64 y (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 0 binary64)) |
(+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 y (+.f64 x #s(literal -1 binary64))))) |
(+.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (-.f64 y y)) |
(+.f64 #s(literal 0 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) y) |
(+.f64 (*.f64 y x) (*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 (+.f64 x #s(literal -1 binary64)) x))) |
(+.f64 (*.f64 y x) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (*.f64 y (+.f64 x #s(literal -1 binary64))))) |
(+.f64 (*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 (+.f64 x #s(literal -1 binary64)) x)) (*.f64 y x)) |
(+.f64 (*.f64 (*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 (+.f64 x #s(literal -1 binary64)) x)) #s(literal 1 binary64)) (*.f64 y x)) |
(+.f64 (-.f64 y (*.f64 (*.f64 y x) #s(literal 2 binary64))) (*.f64 y x)) |
(+.f64 (-.f64 #s(literal 0 binary64) (+.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 (*.f64 y x) #s(literal 2 binary64)))) (*.f64 y x)) |
(-.f64 y (*.f64 y x)) |
(-.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (-.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 0 binary64) y)) y) |
(fma.f64 y #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 y (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(fma.f64 y #s(literal 0 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) y) |
(fma.f64 y (+.f64 x (-.f64 #s(literal 1 binary64) x)) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 y (+.f64 (-.f64 #s(literal 1 binary64) x) x) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 x #s(literal 0 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) y) |
(fma.f64 #s(literal 1 binary64) y (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) #s(literal 0 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x)) y) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) y #s(literal 0 binary64)) |
(fma.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 0 binary64) #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 #s(literal 0 binary64) (*.f64 y x) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y y) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x y) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) (*.f64 y x))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) y) |
(fma.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 y x)) #s(literal 1 binary64) y) |
(fma.f64 (*.f64 y x) #s(literal 0 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) y) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y) #s(literal 0 binary64)) |
(fma.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal -1 binary64) #s(literal 0 binary64)) |
(neg.f64 (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(*.f64 #s(literal 1 binary64) (*.f64 y (-.f64 #s(literal 1 binary64) x))) |
(*.f64 (-.f64 #s(literal 1 binary64) x) y) |
(*.f64 (*.f64 y (-.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) |
(*.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 x #s(literal -1 binary64))) |
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x #s(literal -1 binary64)))) |
(*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) y)) |
(*.f64 (*.f64 y (+.f64 x #s(literal -1 binary64))) #s(literal -1 binary64)) |
(+.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(+.f64 #s(literal 0 binary64) (-.f64 #s(literal 1 binary64) x)) |
(+.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64)) |
(-.f64 #s(literal 1 binary64) x) |
(-.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (+.f64 x #s(literal -1 binary64))) |
(-.f64 (-.f64 #s(literal 0 binary64) x) #s(literal -1 binary64)) |
(fma.f64 x #s(literal -1 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64)) |
(fma.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) #s(literal 1 binary64) #s(literal 1 binary64)) |
(fma.f64 #s(literal -1 binary64) x #s(literal 1 binary64)) |
(fma.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64)) #s(literal 0 binary64)) |
(fma.f64 (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(neg.f64 (+.f64 x #s(literal -1 binary64))) |
(*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) |
(*.f64 (-.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))) |
(*.f64 (+.f64 x #s(literal -1 binary64)) #s(literal -1 binary64)) |
| 1× | egg-herbie |
| 1972× | *-lowering-*.f32 |
| 1972× | *-lowering-*.f64 |
| 1962× | sum3-define |
| 1360× | fmsub-define |
| 1038× | fmm-def |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 86 | 781 |
| 1 | 291 | 625 |
| 2 | 951 | 625 |
| 3 | 2929 | 625 |
| 4 | 7440 | 625 |
| 0 | 8272 | 625 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ y (* -1 (* x y))) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(* x z) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(* x z) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(* y (+ 1 (* -1 x))) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(* -1 (* y (- x 1))) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
y |
(+ y (* x (- z y))) |
(+ y (* x (- z y))) |
(+ y (* x (- z y))) |
(* x (- z y)) |
(* x (- (+ z (/ y x)) y)) |
(* x (- (+ z (/ y x)) y)) |
(* x (- (+ z (/ y x)) y)) |
(* x (- z y)) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(* -1 y) |
(- z y) |
(- z y) |
(- z y) |
z |
(* z (+ 1 (* -1 (/ y z)))) |
(* z (+ 1 (* -1 (/ y z)))) |
(* z (+ 1 (* -1 (/ y z)))) |
z |
(* -1 (* z (- (/ y z) 1))) |
(* -1 (* z (- (/ y z) 1))) |
(* -1 (* z (- (/ y z) 1))) |
z |
(+ z (* -1 y)) |
(+ z (* -1 y)) |
(+ z (* -1 y)) |
(* -1 y) |
(* y (- (/ z y) 1)) |
(* y (- (/ z y) 1)) |
(* y (- (/ z y) 1)) |
(* -1 y) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* -1 (* x y)) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(* x z) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* x z) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(* -1 (* x y)) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(* -1 (* x y)) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
(* y (- 1 x)) |
y |
(+ y (* -1 (* x y))) |
(+ y (* -1 (* x y))) |
(+ y (* -1 (* x y))) |
(* -1 (* x y)) |
(* x (+ (* -1 y) (/ y x))) |
(* x (+ (* -1 y) (/ y x))) |
(* x (+ (* -1 y) (/ y x))) |
(* -1 (* x y)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
1 |
(+ 1 (* -1 x)) |
(+ 1 (* -1 x)) |
(+ 1 (* -1 x)) |
(* -1 x) |
(* x (- (/ 1 x) 1)) |
(* x (- (/ 1 x) 1)) |
(* x (- (/ 1 x) 1)) |
(* -1 x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(* -1 (* x (- 1 (/ 1 x)))) |
(* -1 (* x (- 1 (/ 1 x)))) |
| Outputs |
|---|
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (+ (* -1 (* x y)) (* x z))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* z (+ x (+ (* -1 (/ (* x y) z)) (/ y z)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ y (* -1 (* x y))) z))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x z) |
(*.f64 x z) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ (* x z) (* y (+ 1 (* -1 x)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (+ 1 (* -1 x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* y (+ 1 (+ (* -1 x) (/ (* x z) y)))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (- x 1))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* y (- (+ x (* -1 (/ (* x z) y))) 1))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
y |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(+ y (* x (- z y))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- (+ z (/ y x)) y)) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 (* x (+ (* -1 (- z y)) (* -1 (/ y x))))) |
(+.f64 y (*.f64 x (-.f64 z y))) |
(* -1 y) |
(-.f64 #s(literal 0 binary64) y) |
(- z y) |
(-.f64 z y) |
(- z y) |
(-.f64 z y) |
(- z y) |
(-.f64 z y) |
z |
(* z (+ 1 (* -1 (/ y z)))) |
(-.f64 z y) |
(* z (+ 1 (* -1 (/ y z)))) |
(-.f64 z y) |
(* z (+ 1 (* -1 (/ y z)))) |
(-.f64 z y) |
z |
(* -1 (* z (- (/ y z) 1))) |
(-.f64 z y) |
(* -1 (* z (- (/ y z) 1))) |
(-.f64 z y) |
(* -1 (* z (- (/ y z) 1))) |
(-.f64 z y) |
z |
(+ z (* -1 y)) |
(-.f64 z y) |
(+ z (* -1 y)) |
(-.f64 z y) |
(+ z (* -1 y)) |
(-.f64 z y) |
(* -1 y) |
(-.f64 #s(literal 0 binary64) y) |
(* y (- (/ z y) 1)) |
(-.f64 z y) |
(* y (- (/ z y) 1)) |
(-.f64 z y) |
(* y (- (/ z y) 1)) |
(-.f64 z y) |
(* -1 y) |
(-.f64 #s(literal 0 binary64) y) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(-.f64 z y) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(-.f64 z y) |
(* -1 (* y (+ 1 (* -1 (/ z y))))) |
(-.f64 z y) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(*.f64 x (-.f64 z y)) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(*.f64 x (-.f64 z y)) |
(* y (+ (* -1 x) (/ (* x z) y))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* y (+ x (* -1 (/ (* x z) y))))) |
(*.f64 x (-.f64 z y)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* y (- 1 x)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
y |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+ y (* -1 (* x y))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* x (+ (* -1 y) (/ y x))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x y)) |
(-.f64 #s(literal 0 binary64) (*.f64 y x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(* -1 (* x (+ y (* -1 (/ y x))))) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
1 |
#s(literal 1 binary64) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(+ 1 (* -1 x)) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 x) |
(-.f64 #s(literal 0 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* x (- (/ 1 x) 1)) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 x) |
(-.f64 #s(literal 0 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
(* -1 (* x (- 1 (/ 1 x)))) |
(-.f64 #s(literal 1 binary64) x) |
Compiled 3874 to 438 computations (88.7% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 500 | 1 | 501 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 5 | 5 |
| Done | 1 | 0 | 1 |
| Total | 501 | 7 | 508 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 (-.f64 z y) x y) |
| ▶ | 63.6% | (-.f64 (*.f64 z x) (*.f64 y x)) |
| ▶ | 73.6% | (+.f64 y (*.f64 x z)) |
| ✓ | 63.5% | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ✓ | 65.6% | (*.f64 x (-.f64 z y)) |
| ✓ | 39.4% | (*.f64 x z) |
| ✓ | 36.9% | y |
Compiled 53 to 34 computations (35.8% saved)
| 1× | egg-herbie |
Found 5 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (*.f64 y x) |
| ✓ | cost-diff | 0 | (*.f64 z x) |
| ✓ | cost-diff | 128 | (-.f64 (*.f64 z x) (*.f64 y x)) |
| ✓ | cost-diff | 0 | (*.f64 x z) |
| ✓ | cost-diff | 0 | (+.f64 y (*.f64 x z)) |
| 644× | fnmadd-define |
| 542× | sum3-define |
| 480× | sum5-define |
| 460× | fma-define |
| 380× | fmsub-define |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 25 |
| 1 | 21 | 24 |
| 2 | 41 | 24 |
| 3 | 64 | 24 |
| 4 | 102 | 24 |
| 5 | 213 | 24 |
| 6 | 450 | 24 |
| 7 | 836 | 24 |
| 8 | 1332 | 24 |
| 9 | 2012 | 24 |
| 10 | 2135 | 24 |
| 11 | 2153 | 24 |
| 12 | 2161 | 24 |
| 0 | 2161 | 24 |
| 1× | iter limit |
| 1× | saturated |
| Inputs |
|---|
(+ y (* x z)) |
y |
(* x z) |
x |
z |
(- (* z x) (* y x)) |
(* z x) |
z |
x |
(* y x) |
y |
| Outputs |
|---|
(+ y (* x z)) |
(+.f64 y (*.f64 x z)) |
y |
(* x z) |
(*.f64 x z) |
x |
z |
(- (* z x) (* y x)) |
(*.f64 x (-.f64 z y)) |
(* z x) |
(*.f64 x z) |
z |
x |
(* y x) |
(*.f64 y x) |
y |
Found 5 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 100.0% | (*.f64 z x) |
| ✓ | accuracy | 100.0% | (*.f64 y x) |
| ✓ | accuracy | 98.2% | (-.f64 (*.f64 z x) (*.f64 y x)) |
| ✓ | accuracy | 100.0% | (*.f64 x z) |
| ✓ | accuracy | 100.0% | (+.f64 y (*.f64 x z)) |
| 46.0ms | 256× | 0 | valid |
Compiled 31 to 9 computations (71% saved)
ival-mult: 10.0ms (77.7% of total)ival-sub: 1.0ms (7.8% of total)ival-add: 1.0ms (7.8% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| Inputs |
|---|
#<alt (+ y (* x z))> |
#<alt (* x z)> |
#<alt (- (* z x) (* y x))> |
#<alt (* z x)> |
#<alt (* y x)> |
| Outputs |
|---|
#<alt (* x z)> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt y> |
#<alt (* y (+ 1 (/ (* x z) y)))> |
#<alt (* y (+ 1 (/ (* x z) y)))> |
#<alt (* y (+ 1 (/ (* x z) y)))> |
#<alt y> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) 1)))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) 1)))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) 1)))> |
#<alt y> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt (* x z)> |
#<alt (* x (+ z (/ y x)))> |
#<alt (* x (+ z (/ y x)))> |
#<alt (* x (+ z (/ y x)))> |
#<alt (* x z)> |
#<alt (* -1 (* x (+ (* -1 z) (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ (* -1 z) (* -1 (/ y x)))))> |
#<alt (* -1 (* x (+ (* -1 z) (* -1 (/ y x)))))> |
#<alt y> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt (+ y (* x z))> |
#<alt (* x z)> |
#<alt (* z (+ x (/ y z)))> |
#<alt (* z (+ x (/ y z)))> |
#<alt (* z (+ x (/ y z)))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ y z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ y z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ y z)))))> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* -1 (* x y))> |
#<alt (- (* x z) (* x y))> |
#<alt (- (* x z) (* x y))> |
#<alt (- (* x z) (* x y))> |
#<alt (* x z)> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* z (+ x (* -1 (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* -1 (* z (+ (* -1 x) (/ (* x y) z))))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* x (- z y))> |
#<alt (* -1 (* x (- (* -1 z) (* -1 y))))> |
#<alt (* -1 (* x (- (* -1 z) (* -1 y))))> |
#<alt (* -1 (* x (- (* -1 z) (* -1 y))))> |
#<alt (* -1 (* x (- (* -1 z) (* -1 y))))> |
#<alt (* x z)> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (+ (* -1 (* x y)) (* x z))> |
#<alt (* -1 (* x y))> |
#<alt (* y (- (/ (* x z) y) x))> |
#<alt (* y (- (/ (* x z) y) x))> |
#<alt (* y (- (/ (* x z) y) x))> |
#<alt (* -1 (* x y))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x))))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x))))> |
#<alt (* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x))))> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x z)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
#<alt (* x y)> |
36 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (- (* z x) (* y x)) |
| 0.0ms | x | @ | -inf | (- (* z x) (* y x)) |
| 0.0ms | z | @ | 0 | (- (* z x) (* y x)) |
| 0.0ms | x | @ | inf | (- (* z x) (* y x)) |
| 0.0ms | y | @ | -inf | (- (* z x) (* y x)) |
| 1× | batch-egg-rewrite |
| 2486× | sum4-define |
| 1440× | fma-define |
| 1290× | fnmadd-define |
| 1254× | fma-lowering-fma.f32 |
| 1254× | fma-lowering-fma.f64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 27 | 18 |
| 2 | 65 | 18 |
| 3 | 281 | 18 |
| 4 | 1372 | 18 |
| 5 | 4769 | 18 |
| 0 | 8159 | 18 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ y (* x z)) |
(* x z) |
(- (* z x) (* y x)) |
(* z x) |
(* y x) |
| Outputs |
|---|
(+.f64 y (*.f64 x z)) |
(+.f64 (+.f64 y (*.f64 x z)) #s(literal 0 binary64)) |
(+.f64 (*.f64 x z) y) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(+.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x z))) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(+.f64 (*.f64 x (+.f64 z y)) (-.f64 y (*.f64 y x))) |
(+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 y x)) |
(+.f64 (-.f64 y (*.f64 y x)) (*.f64 x (+.f64 z y))) |
(+.f64 (+.f64 y (*.f64 x (+.f64 z y))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x (-.f64 z y))) |
(-.f64 y (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (+.f64 y (*.f64 x z)) #s(literal 0 binary64)) |
(-.f64 (+.f64 y (*.f64 x z)) (*.f64 z #s(literal 0 binary64))) |
(-.f64 (*.f64 x z) (-.f64 #s(literal 0 binary64) y)) |
(-.f64 (*.f64 y x) (-.f64 (*.f64 x (-.f64 y z)) y)) |
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) y)) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 y (-.f64 x #s(literal 1 binary64)))) |
(-.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (-.f64 y (*.f64 y x)) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y)))) |
(-.f64 (+.f64 y (*.f64 x (+.f64 z y))) (*.f64 y x)) |
(-.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 y (*.f64 x (*.f64 y #s(literal 2 binary64)))) (*.f64 x (+.f64 (-.f64 y z) y))) |
(-.f64 (+.f64 (*.f64 x z) (*.f64 y #s(literal 2 binary64))) y) |
(-.f64 (+.f64 #s(literal 0 binary64) (*.f64 y (+.f64 x #s(literal 1 binary64)))) (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 #s(literal 0 binary64) (+.f64 y (*.f64 x (+.f64 z y)))) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x z)) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 y x)) (*.f64 x (+.f64 (-.f64 y z) y))) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) #s(literal 0 binary64)) (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (+.f64 (*.f64 y (+.f64 x #s(literal 1 binary64))) (*.f64 x (+.f64 z y))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) #s(literal 0 binary64)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (-.f64 z y))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) (*.f64 y x)) |
(-.f64 (+.f64 (-.f64 y (*.f64 y x)) (*.f64 x z)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (+.f64 (-.f64 y (*.f64 y x)) (*.f64 y x)) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (+.f64 (-.f64 y (*.f64 y x)) #s(literal 0 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y)))) |
(-.f64 (+.f64 (-.f64 y (*.f64 y x)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) (*.f64 x (-.f64 y z))) |
(-.f64 (+.f64 (-.f64 y (*.f64 y x)) (*.f64 x (+.f64 y (+.f64 y z)))) (*.f64 y x)) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (+.f64 z y))) (*.f64 y x)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (+.f64 z y))) #s(literal 0 binary64)) (*.f64 y x)) |
(-.f64 (+.f64 (+.f64 y (*.f64 x (+.f64 z y))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 y x (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 y #s(literal 1 binary64) (*.f64 x z)) |
(fma.f64 x y (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 x z y) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 x (-.f64 z y) (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(fma.f64 x (+.f64 z y) (-.f64 y (*.f64 y x))) |
(fma.f64 x (+.f64 y z) (-.f64 y (*.f64 y x))) |
(fma.f64 z x y) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) #s(literal -1 binary64) (*.f64 x z)) |
(fma.f64 (-.f64 z y) x (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y) (*.f64 x z)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(fma.f64 #s(literal 1 binary64) y (*.f64 x z)) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (+.f64 (*.f64 x (-.f64 z y)) y)) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (+.f64 (*.f64 x (+.f64 z y)) y)) |
(neg.f64 (-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) y)) |
(neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x (-.f64 #s(literal 0 binary64) z)))) |
(*.f64 #s(literal -1 binary64) (-.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x z))) |
(+.f64 (*.f64 x z) #s(literal 0 binary64)) |
(+.f64 (*.f64 x z) (*.f64 z #s(literal 0 binary64))) |
(+.f64 (*.f64 x z) (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 x z) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(+.f64 (*.f64 x z) (*.f64 #s(literal 0 binary64) z)) |
(+.f64 (*.f64 y x) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 y x)) |
(+.f64 #s(literal 0 binary64) (*.f64 x z)) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(+.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (+.f64 y (+.f64 y z)))) |
(+.f64 (*.f64 z #s(literal 0 binary64)) (*.f64 x z)) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 x (+.f64 y (+.f64 y z))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (*.f64 z (*.f64 x #s(literal 2 binary64))) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(+.f64 (*.f64 #s(literal 0 binary64) z) (*.f64 x z)) |
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (+.f64 z y) x) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) z) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 x z) #s(literal 0 binary64)) |
(-.f64 (*.f64 x z) (*.f64 z #s(literal 0 binary64))) |
(-.f64 (*.f64 y x) (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y)))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 (-.f64 y z) y))) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 y x)) |
(-.f64 (*.f64 x (+.f64 y (+.f64 y z))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (+.f64 (-.f64 y z) (*.f64 y #s(literal 2 binary64))))) |
(-.f64 (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x z)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) |
(-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 x (+.f64 y (+.f64 y z))) #s(literal 0 binary64)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 y x (*.f64 x (-.f64 z y))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 z y))) |
(fma.f64 y #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 y (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x y (*.f64 x (-.f64 z y))) |
(fma.f64 x z #s(literal 0 binary64)) |
(fma.f64 x z (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(fma.f64 x z (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 x #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 z y))) |
(fma.f64 x (-.f64 z y) (*.f64 y x)) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 x (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x (+.f64 z y) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 x (+.f64 y z) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 z x #s(literal 0 binary64)) |
(fma.f64 z x (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(fma.f64 z x (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (*.f64 y x) #s(literal 2 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 y x) #s(literal -2 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) (*.f64 y x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal 0 binary64) (*.f64 y x) (*.f64 x z)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal 2 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 z y) x (*.f64 y x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 y x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal 2 binary64) (*.f64 y x) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) #s(literal -1 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal -2 binary64) (*.f64 y x) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 y (+.f64 y z)))) |
(neg.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 x z) |
(*.f64 x (+.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 z y))) |
(*.f64 x (+.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 y #s(literal 2 binary64)))) |
(*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(*.f64 x (-.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 (-.f64 y z) y))) |
(*.f64 z x) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 (-.f64 y z) y)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 #s(literal 1 binary64) (*.f64 x z)) |
(*.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 (*.f64 x z) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 y x) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 x (-.f64 z y)) #s(literal 0 binary64)) |
(+.f64 (*.f64 x (-.f64 z y)) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(+.f64 (*.f64 x (-.f64 z y)) (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 z #s(literal 0 binary64))))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 (-.f64 z y) #s(literal 0 binary64))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 z #s(literal 0 binary64))))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 #s(literal 0 binary64) (-.f64 z y))) |
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(+.f64 #s(literal 0 binary64) (*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64))) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x z)) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y))) #s(literal -1 binary64))) |
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64))) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 (-.f64 z y) #s(literal 0 binary64)) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 (-.f64 z y) (*.f64 x #s(literal 2 binary64))) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 #s(literal 0 binary64) (-.f64 z y)) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 z y)) (*.f64 x (-.f64 y z))) |
(+.f64 (*.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z)) #s(literal -1 binary64)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64)) #s(literal 0 binary64)) |
(+.f64 (*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64)) (*.f64 (*.f64 z #s(literal 0 binary64)) #s(literal -1 binary64))) |
(+.f64 (*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 z #s(literal 0 binary64))) #s(literal -1 binary64))) |
(+.f64 (*.f64 (*.f64 z #s(literal 0 binary64)) #s(literal -1 binary64)) (*.f64 (*.f64 x (-.f64 y z)) #s(literal -1 binary64))) |
(-.f64 (*.f64 x z) (*.f64 y x)) |
(-.f64 (*.f64 y x) (*.f64 x (+.f64 (-.f64 y z) y))) |
(-.f64 (*.f64 x (-.f64 z y)) #s(literal 0 binary64)) |
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 z #s(literal 0 binary64))) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y)))) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 (-.f64 y z) (*.f64 y #s(literal 2 binary64))))) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 x (+.f64 y (+.f64 y z))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) |
(-.f64 (-.f64 (*.f64 x z) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(fma.f64 y x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x z)) |
(fma.f64 y #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 x y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x z (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 x #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x z)) |
(fma.f64 x (-.f64 z y) #s(literal 0 binary64)) |
(fma.f64 x (-.f64 z y) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 y x)) |
(fma.f64 x (+.f64 z y) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(fma.f64 x (+.f64 y z) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(fma.f64 z x (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (*.f64 x z)) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 y x) #s(literal -2 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal 0 binary64) (*.f64 y x) (*.f64 x (-.f64 z y))) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal 2 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 z y) x #s(literal 0 binary64)) |
(fma.f64 (-.f64 z y) x (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (*.f64 x z)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x z)) |
(fma.f64 #s(literal 2 binary64) #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) #s(literal -1 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -2 binary64) (*.f64 y x) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 z y))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 y x)) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 z y))) |
(neg.f64 (*.f64 x (-.f64 y z))) |
(*.f64 x (-.f64 z y)) |
(*.f64 x (+.f64 (*.f64 y #s(literal -2 binary64)) (+.f64 z y))) |
(*.f64 x (+.f64 (*.f64 y #s(literal -2 binary64)) (+.f64 y z))) |
(*.f64 x (+.f64 (+.f64 z y) (*.f64 y #s(literal -2 binary64)))) |
(*.f64 x (+.f64 (+.f64 y z) (*.f64 y #s(literal -2 binary64)))) |
(*.f64 x (-.f64 (+.f64 z y) (*.f64 y #s(literal 2 binary64)))) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z)) |
(*.f64 (-.f64 z y) x) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z))) |
(*.f64 (-.f64 y z) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 (*.f64 x z) #s(literal 0 binary64)) |
(+.f64 (*.f64 x z) (*.f64 z #s(literal 0 binary64))) |
(+.f64 (*.f64 x z) (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(+.f64 (*.f64 x z) (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(+.f64 (*.f64 x z) (*.f64 #s(literal 0 binary64) z)) |
(+.f64 (*.f64 y x) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 y x)) |
(+.f64 #s(literal 0 binary64) (*.f64 x z)) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 (+.f64 y z) x)) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(+.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) (*.f64 x (+.f64 y (+.f64 y z)))) |
(+.f64 (*.f64 z #s(literal 0 binary64)) (*.f64 x z)) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 x (+.f64 y (+.f64 y z))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (*.f64 z (*.f64 x #s(literal 2 binary64))) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(+.f64 (*.f64 #s(literal 0 binary64) z) (*.f64 x z)) |
(+.f64 (*.f64 (+.f64 y z) x) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (+.f64 z y) x) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) z) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 x z) #s(literal 0 binary64)) |
(-.f64 (*.f64 x z) (*.f64 z #s(literal 0 binary64))) |
(-.f64 (*.f64 y x) (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y)))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 (-.f64 y z) y))) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 y x)) |
(-.f64 (*.f64 x (+.f64 y (+.f64 y z))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (+.f64 (-.f64 y z) (*.f64 y #s(literal 2 binary64))))) |
(-.f64 (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x z)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z y))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) |
(-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 x (+.f64 y (+.f64 y z))) #s(literal 0 binary64)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 y x (*.f64 x (-.f64 z y))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 z y))) |
(fma.f64 y #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 y (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x y (*.f64 x (-.f64 z y))) |
(fma.f64 x z #s(literal 0 binary64)) |
(fma.f64 x z (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(fma.f64 x z (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 x #s(literal 0 binary64) (*.f64 x z)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 z y))) |
(fma.f64 x (-.f64 z y) (*.f64 y x)) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 x (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x (+.f64 z y) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 x (+.f64 y z) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 z x #s(literal 0 binary64)) |
(fma.f64 z x (+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (-.f64 y z)))) |
(fma.f64 z x (-.f64 #s(literal 0 binary64) (*.f64 z #s(literal 0 binary64)))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (*.f64 y x) #s(literal 2 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 y x) #s(literal -2 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y z) (*.f64 y x)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal 0 binary64) (*.f64 y x) (*.f64 x z)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64) (*.f64 x (-.f64 z y))) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal 2 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) (*.f64 x (-.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (-.f64 z y) x (*.f64 y x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 y x)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (*.f64 x (-.f64 z y))) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal 2 binary64) (*.f64 y x) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) #s(literal -1 binary64) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 #s(literal -2 binary64) (*.f64 y x) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 y (+.f64 y z)))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 y (+.f64 y z)))) |
(neg.f64 (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 x z) |
(*.f64 x (+.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 z y))) |
(*.f64 x (+.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 y #s(literal 2 binary64)))) |
(*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(*.f64 x (-.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 (-.f64 y z) y))) |
(*.f64 z x) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) z)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 (-.f64 y z) y)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) z))) |
(*.f64 #s(literal 1 binary64) (*.f64 x z)) |
(*.f64 (-.f64 #s(literal 0 binary64) z) (-.f64 #s(literal 0 binary64) x)) |
(+.f64 y (*.f64 y (-.f64 x #s(literal 1 binary64)))) |
(+.f64 y (neg.f64 (-.f64 y (*.f64 y x)))) |
(+.f64 y (*.f64 (-.f64 y (*.f64 y x)) #s(literal -1 binary64))) |
(+.f64 x (neg.f64 (-.f64 x (*.f64 y x)))) |
(+.f64 x (*.f64 #s(literal -1 binary64) (-.f64 x (*.f64 y x)))) |
(+.f64 x (*.f64 (-.f64 x (*.f64 y x)) #s(literal -1 binary64))) |
(+.f64 (*.f64 y x) #s(literal 0 binary64)) |
(+.f64 (-.f64 #s(literal 0 binary64) x) (neg.f64 (*.f64 x (+.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y))))) |
(+.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y))))) |
(+.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 (*.f64 x (+.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) y))) #s(literal -1 binary64))) |
(+.f64 #s(literal 0 binary64) (*.f64 y x)) |
(+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(+.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 y (+.f64 x #s(literal 1 binary64)))) |
(+.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 (neg.f64 (*.f64 y (+.f64 x #s(literal 1 binary64)))) #s(literal -1 binary64))) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(+.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (*.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 y (*.f64 x #s(literal -2 binary64))) #s(literal 1 binary64))) |
(-.f64 (*.f64 y x) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(-.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 y (*.f64 x #s(literal -2 binary64)))) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 y x)) |
(-.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (*.f64 (*.f64 y x) #s(literal 3 binary64)) #s(literal 0 binary64)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) |
(fma.f64 y x #s(literal 0 binary64)) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 y (*.f64 x #s(literal 2 binary64)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 x y #s(literal 0 binary64)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 x (*.f64 y #s(literal 2 binary64)) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 (*.f64 y x) #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (*.f64 y x) #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 (*.f64 y x) #s(literal 2 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64) #s(literal 0 binary64)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x) #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) (*.f64 y x) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 y x) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 #s(literal 2 binary64) (*.f64 y x) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) y (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) x (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(neg.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(*.f64 y x) |
(*.f64 y (-.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 x #s(literal -2 binary64)))) |
(*.f64 x y) |
(*.f64 x (-.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 y #s(literal -2 binary64)))) |
(*.f64 (*.f64 y x) #s(literal 1 binary64)) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 0 binary64) y)) |
(*.f64 (*.f64 x (-.f64 #s(literal 0 binary64) y)) #s(literal -1 binary64)) |
(*.f64 (-.f64 #s(literal 0 binary64) y) (-.f64 #s(literal 0 binary64) x)) |
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) y))) |
(*.f64 #s(literal 1 binary64) (*.f64 y x)) |
| 1× | egg-herbie |
| 1650× | fnmadd-define |
| 1568× | sum5-define |
| 1374× | *-lowering-*.f32 |
| 1374× | *-lowering-*.f64 |
| 1370× | times-frac |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 541 |
| 1 | 189 | 514 |
| 2 | 550 | 514 |
| 3 | 1803 | 514 |
| 4 | 6985 | 514 |
| 0 | 8131 | 514 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* x z) |
(+ y (* x z)) |
(+ y (* x z)) |
(+ y (* x z)) |
y |
(* y (+ 1 (/ (* x z) y))) |
(* y (+ 1 (/ (* x z) y))) |
(* y (+ 1 (/ (* x z) y))) |
y |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
y |
(+ y (* x z)) |
(+ y (* x z)) |
(+ y (* x z)) |
(* x z) |
(* x (+ z (/ y x))) |
(* x (+ z (/ y x))) |
(* x (+ z (/ y x))) |
(* x z) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
y |
(+ y (* x z)) |
(+ y (* x z)) |
(+ y (* x z)) |
(* x z) |
(* z (+ x (/ y z))) |
(* z (+ x (/ y z))) |
(* z (+ x (/ y z))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* -1 (* x y)) |
(- (* x z) (* x y)) |
(- (* x z) (* x y)) |
(- (* x z) (* x y)) |
(* x z) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* x (- z y)) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(* x z) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(+ (* -1 (* x y)) (* x z)) |
(* -1 (* x y)) |
(* y (- (/ (* x z) y) x)) |
(* y (- (/ (* x z) y) x)) |
(* y (- (/ (* x z) y) x)) |
(* -1 (* x y)) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x z) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
(* x y) |
| Outputs |
|---|
(* x z) |
(*.f64 x z) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
y |
(* y (+ 1 (/ (* x z) y))) |
(+.f64 (*.f64 x z) y) |
(* y (+ 1 (/ (* x z) y))) |
(+.f64 (*.f64 x z) y) |
(* y (+ 1 (/ (* x z) y))) |
(+.f64 (*.f64 x z) y) |
y |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* y (- (* -1 (/ (* x z) y)) 1))) |
(+.f64 (*.f64 x z) y) |
y |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(* x z) |
(*.f64 x z) |
(* x (+ z (/ y x))) |
(+.f64 (*.f64 x z) y) |
(* x (+ z (/ y x))) |
(+.f64 (*.f64 x z) y) |
(* x (+ z (/ y x))) |
(+.f64 (*.f64 x z) y) |
(* x z) |
(*.f64 x z) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* x (+ (* -1 z) (* -1 (/ y x))))) |
(+.f64 (*.f64 x z) y) |
y |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(+ y (* x z)) |
(+.f64 (*.f64 x z) y) |
(* x z) |
(*.f64 x z) |
(* z (+ x (/ y z))) |
(+.f64 (*.f64 x z) y) |
(* z (+ x (/ y z))) |
(+.f64 (*.f64 x z) y) |
(* z (+ x (/ y z))) |
(+.f64 (*.f64 x z) y) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(+.f64 (*.f64 x z) y) |
(* -1 (* z (+ (* -1 x) (* -1 (/ y z))))) |
(+.f64 (*.f64 x z) y) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* -1 (* x y)) |
(*.f64 x (-.f64 #s(literal 0 binary64) y)) |
(- (* x z) (* x y)) |
(*.f64 x (-.f64 z y)) |
(- (* x z) (* x y)) |
(*.f64 x (-.f64 z y)) |
(- (* x z) (* x y)) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* z (+ x (* -1 (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* z (+ (* -1 x) (/ (* x y) z)))) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* x (- z y)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (* -1 z) (* -1 y)))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(+ (* -1 (* x y)) (* x z)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x y)) |
(*.f64 x (-.f64 #s(literal 0 binary64) y)) |
(* y (- (/ (* x z) y) x)) |
(*.f64 x (-.f64 z y)) |
(* y (- (/ (* x z) y) x)) |
(*.f64 x (-.f64 z y)) |
(* y (- (/ (* x z) y) x)) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x y)) |
(*.f64 x (-.f64 #s(literal 0 binary64) y)) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* y (- (* -1 (/ (* x z) y)) (* -1 x)))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
(* x y) |
(*.f64 x y) |
Compiled 6046 to 706 computations (88.3% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 570 | 1 | 571 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 1 | 4 | 5 |
| Total | 571 | 7 | 578 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 52.9% | (-.f64 (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) (*.f64 y x)) |
| ✓ | 63.6% | (-.f64 (*.f64 z x) (*.f64 y x)) |
| ✓ | 73.6% | (+.f64 y (*.f64 x z)) |
| ✓ | 63.5% | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ✓ | 65.6% | (*.f64 x (-.f64 z y)) |
| ✓ | 39.4% | (*.f64 x z) |
| ✓ | 36.9% | y |
Compiled 68 to 42 computations (38.2% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) |
| ✓ | cost-diff | 128 | (-.f64 (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) (*.f64 y x)) |
| ✓ | cost-diff | 384 | (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) |
| ✓ | cost-diff | 512 | (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) |
| 2022× | fmsub-define |
| 1958× | fmm-def |
| 1608× | fnmadd-define |
| 1454× | fma-lowering-fma.f32 |
| 1454× | fma-lowering-fma.f64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 76 |
| 1 | 39 | 67 |
| 2 | 146 | 56 |
| 3 | 561 | 43 |
| 4 | 2974 | 39 |
| 0 | 8382 | 39 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(- (- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) (* y x)) |
(- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) |
(+ (* x (+ z (* y -2))) (* (* y x) 3)) |
(* x (+ z (* y -2))) |
x |
(+ z (* y -2)) |
z |
(* y -2) |
y |
-2 |
(* (* y x) 3) |
(* y x) |
3 |
| Outputs |
|---|
(- (- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) (* y x)) |
(*.f64 x (-.f64 z y)) |
(- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) |
(*.f64 x z) |
(+ (* x (+ z (* y -2))) (* (* y x) 3)) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (* y -2))) |
(*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) |
x |
(+ z (* y -2)) |
(+.f64 z (*.f64 y #s(literal -2 binary64))) |
z |
(* y -2) |
(*.f64 y #s(literal -2 binary64)) |
y |
-2 |
#s(literal -2 binary64) |
(* (* y x) 3) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* y x) |
(*.f64 x y) |
3 |
#s(literal 3 binary64) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | accuracy | 99.7% | (*.f64 (*.f64 y x) #s(literal 3 binary64)) |
| ✓ | accuracy | 98.2% | (-.f64 (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) (*.f64 y x)) |
| ✓ | accuracy | 89.3% | (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) |
| ✓ | accuracy | 60.2% | (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) |
| 35.0ms | 129× | 0 | valid |
| 31.0ms | 56× | 2 | valid |
| 29.0ms | 71× | 1 | valid |
Compiled 83 to 14 computations (83.1% saved)
ival-add: 19.0ms (37.9% of total)ival-mult: 18.0ms (35.9% of total)backward-pass: 8.0ms (15.9% of total)ival-sub: 4.0ms (8% of total)const: 1.0ms (2% of total)| Inputs |
|---|
#<alt (+ (* x (+ z (* y -2))) (* (* y x) 3))> |
#<alt (- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x))> |
#<alt (- (- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) (* y x))> |
#<alt (* x (+ z (* y -2)))> |
#<alt (* (* y x) 3)> |
| Outputs |
|---|
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* x (+ z (+ (* -2 y) (* 3 y))))> |
#<alt (* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y))))))> |
#<alt (* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y))))))> |
#<alt (* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y))))))> |
#<alt (* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y))))))> |
#<alt (+ (* -2 (* x y)) (* 3 (* x y)))> |
#<alt (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z)))> |
#<alt (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z)))> |
#<alt (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z)))> |
#<alt (* x z)> |
#<alt (* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))))> |
#<alt (* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))))> |
#<alt (* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z)))))> |
#<alt (* x z)> |
#<alt (+ (* x z) (* y (+ (* -2 x) (* 3 x))))> |
#<alt (+ (* x z) (* y (+ (* -2 x) (* 3 x))))> |
#<alt (+ (* x z) (* y (+ (* -2 x) (* 3 x))))> |
#<alt (* y (+ (* -2 x) (* 3 x)))> |
#<alt (* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))))> |
#<alt (* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))))> |
#<alt (* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))))> |
#<alt (* -1 (* y (+ (* -3 x) (* 2 x))))> |
#<alt (* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x)))))> |
#<alt (* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x)))))> |
#<alt (* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x)))))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) y))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y))))> |
#<alt (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y))> |
#<alt (* x z)> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z)))> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z)))> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z)))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z)))))> |
#<alt (* x z)> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x)))> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x)))> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x)))> |
#<alt (* y (- (+ (* -2 x) (* 3 x)) x))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x))> |
#<alt (* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -1 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x))))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y)))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y))))> |
#<alt (* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y))))> |
#<alt (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y)))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y)))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y)))> |
#<alt (- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y)))> |
#<alt (* x z)> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z))))> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z))))> |
#<alt (* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z)))))> |
#<alt (* x z)> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x))))> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x))))> |
#<alt (+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x))))> |
#<alt (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x)))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x)))> |
#<alt (* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x)))> |
#<alt (* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -2 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x))))> |
#<alt (* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x))))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* x (+ z (* -2 y)))> |
#<alt (* -2 (* x y))> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (* x z)> |
#<alt (* z (+ x (* -2 (/ (* x y) z))))> |
#<alt (* z (+ x (* -2 (/ (* x y) z))))> |
#<alt (* z (+ x (* -2 (/ (* x y) z))))> |
#<alt (* x z)> |
#<alt (* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z)))))> |
#<alt (* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z)))))> |
#<alt (* x z)> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (+ (* -2 (* x y)) (* x z))> |
#<alt (* -2 (* x y))> |
#<alt (* y (+ (* -2 x) (/ (* x z) y)))> |
#<alt (* y (+ (* -2 x) (/ (* x z) y)))> |
#<alt (* y (+ (* -2 x) (/ (* x z) y)))> |
#<alt (* -2 (* x y))> |
#<alt (* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x))))> |
#<alt (* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x))))> |
#<alt (* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x))))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
#<alt (* 3 (* x y))> |
42 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | -inf | (+ (* x (+ z (* y -2))) (* (* y x) 3)) |
| 1.0ms | x | @ | 0 | (+ (* x (+ z (* y -2))) (* (* y x) 3)) |
| 1.0ms | x | @ | -inf | (+ (* x (+ z (* y -2))) (* (* y x) 3)) |
| 0.0ms | y | @ | inf | (+ (* x (+ z (* y -2))) (* (* y x) 3)) |
| 0.0ms | y | @ | 0 | (+ (* x (+ z (* y -2))) (* (* y x) 3)) |
| 1× | batch-egg-rewrite |
| 1880× | fnmadd-define |
| 1644× | sum4-define |
| 1228× | sum3-define |
| 1170× | fnmsub-define |
| 1146× | +-lowering-+.f64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 60 |
| 1 | 39 | 52 |
| 2 | 156 | 41 |
| 3 | 741 | 28 |
| 4 | 5329 | 24 |
| 0 | 8290 | 24 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+ (* x (+ z (* y -2))) (* (* y x) 3)) |
(- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) |
(- (- (+ (* x (+ z (* y -2))) (* (* y x) 3)) (* y x)) (* y x)) |
(* x (+ z (* y -2))) |
(* (* y x) 3) |
| Outputs |
|---|
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 x y) (*.f64 x z)) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 x (+.f64 z y)) #s(literal 0 binary64)) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(+.f64 (*.f64 x z) (*.f64 x y)) |
(+.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(+.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))))) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (-.f64 z y))) |
(+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 x y) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(-.f64 (*.f64 x (+.f64 z y)) #s(literal 0 binary64)) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 (*.f64 x y) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))))) |
(-.f64 (*.f64 x z) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (neg.f64 (*.f64 x (-.f64 z y)))) |
(-.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal 0 binary64) (+.f64 z y)))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 x y)) |
(fma.f64 x z (*.f64 x y)) |
(fma.f64 x y (*.f64 x z)) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(fma.f64 x (*.f64 y #s(literal 3 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(fma.f64 x (+.f64 z y) #s(literal 0 binary64)) |
(fma.f64 z x (*.f64 x y)) |
(fma.f64 y x (*.f64 x z)) |
(fma.f64 y (*.f64 x #s(literal 3 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 #s(literal -2 binary64) (*.f64 x y) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(fma.f64 (*.f64 x y) #s(literal -2 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 x y) #s(literal 1 binary64) (*.f64 x z)) |
(fma.f64 #s(literal 3 binary64) (*.f64 x y) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (*.f64 x #s(literal 3 binary64)) y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(fma.f64 (*.f64 y #s(literal 3 binary64)) x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(neg.f64 (*.f64 x (-.f64 #s(literal 0 binary64) (+.f64 z y)))) |
(*.f64 x (+.f64 z y)) |
(*.f64 (+.f64 z y) x) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal -2 binary64))) |
(+.f64 (*.f64 x y) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(+.f64 (*.f64 x (+.f64 z y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 x z) #s(literal 0 binary64)) |
(+.f64 (*.f64 x z) (neg.f64 (+.f64 (*.f64 x (-.f64 #s(literal 0 binary64) (+.f64 z y))) (*.f64 x (+.f64 z y))))) |
(+.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 #s(literal 0 binary64) (*.f64 x z)) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (*.f64 (*.f64 x y) #s(literal -3 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(+.f64 (*.f64 x (-.f64 z y)) (*.f64 x y)) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(-.f64 (*.f64 x y) (neg.f64 (*.f64 x (-.f64 z y)))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (*.f64 x (-.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 x y)) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (-.f64 #s(literal 0 binary64) (+.f64 z y)))) |
(-.f64 (*.f64 x z) #s(literal 0 binary64)) |
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x y))) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 x (-.f64 z y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 x z #s(literal 0 binary64)) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x (+.f64 z y))) |
(fma.f64 x (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x (*.f64 y #s(literal 3 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(fma.f64 x (+.f64 z y) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 x (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(fma.f64 z x #s(literal 0 binary64)) |
(fma.f64 y (*.f64 x #s(literal 3 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x (+.f64 z y))) |
(fma.f64 y (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 y (-.f64 x x) (*.f64 x z)) |
(fma.f64 #s(literal -2 binary64) (*.f64 x y) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x y) #s(literal -2 binary64) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 x y) #s(literal -1 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x y) #s(literal 2 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 3 binary64) (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 x #s(literal 3 binary64)) y (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x (+.f64 z y))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x y) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(fma.f64 (*.f64 y #s(literal 3 binary64)) x (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) z)) |
(neg.f64 (*.f64 z (-.f64 #s(literal 0 binary64) x))) |
(*.f64 x z) |
(*.f64 x (+.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 y #s(literal 2 binary64)))) |
(*.f64 x (+.f64 (*.f64 y #s(literal 3 binary64)) (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)))) |
(*.f64 x (+.f64 (-.f64 #s(literal 0 binary64) y) (+.f64 z y))) |
(*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(*.f64 x (+.f64 (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)) (*.f64 y #s(literal 3 binary64)))) |
(*.f64 x (-.f64 (+.f64 z y) y)) |
(*.f64 x (neg.f64 (-.f64 y (+.f64 z y)))) |
(*.f64 z x) |
(*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 y (+.f64 z y))) |
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 x y)) |
(+.f64 (*.f64 x y) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))))) |
(+.f64 (*.f64 x y) (neg.f64 (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))))) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (neg.f64 (+.f64 (*.f64 x (-.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64))))) (*.f64 x y)))) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (neg.f64 (-.f64 (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))))) |
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x z)) |
(+.f64 (*.f64 x z) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(+.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (*.f64 x (+.f64 z y))) |
(+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (*.f64 (*.f64 x y) #s(literal -4 binary64))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal -2 binary64)))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) #s(literal -2 binary64))) |
(+.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(+.f64 (*.f64 (*.f64 x y) #s(literal -4 binary64)) (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))))) |
(+.f64 (*.f64 (*.f64 x y) #s(literal -3 binary64)) (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z))) |
(+.f64 (*.f64 x (-.f64 z y)) #s(literal 0 binary64)) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x y) (-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (+.f64 (*.f64 x (-.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64))))) (*.f64 x y))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (-.f64 (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))))) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 (*.f64 x z) (*.f64 x y)) |
(-.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (-.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(-.f64 #s(literal 0 binary64) (neg.f64 (*.f64 x (-.f64 z y)))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64)))) (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (*.f64 y #s(literal 2 binary64))))) |
(-.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (+.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x y))) |
(-.f64 (*.f64 x (-.f64 z y)) #s(literal 0 binary64)) |
(fma.f64 x z (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 x y (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) (*.f64 x y)) |
(fma.f64 x (-.f64 #s(literal 0 binary64) y) (*.f64 x z)) |
(fma.f64 x (*.f64 y #s(literal 2 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 x (*.f64 y #s(literal 3 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal 3 binary64))) (*.f64 (*.f64 x y) #s(literal -4 binary64))) |
(fma.f64 x (+.f64 z y) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(fma.f64 x (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(fma.f64 x (+.f64 z (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal -2 binary64)))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(fma.f64 z x (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(fma.f64 y x (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 y (*.f64 x #s(literal 3 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(fma.f64 y (-.f64 #s(literal 0 binary64) x) (*.f64 x z)) |
(fma.f64 y (*.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -2 binary64) (*.f64 x y) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x (+.f64 z y))) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x (*.f64 x y)) |
(fma.f64 (*.f64 x y) #s(literal -2 binary64) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(fma.f64 (*.f64 x y) #s(literal -1 binary64) (*.f64 x z)) |
(fma.f64 (*.f64 x y) #s(literal 2 binary64) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 x y) #s(literal 1 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(fma.f64 #s(literal 3 binary64) (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) x (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x #s(literal 3 binary64)) y (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) y (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x (+.f64 z y))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 x z)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y #s(literal 2 binary64)) x (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 x #s(literal 2 binary64)) y (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64)))) |
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x (+.f64 z y))) |
(fma.f64 (*.f64 y #s(literal 3 binary64)) x (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -4 binary64)))) |
(neg.f64 (neg.f64 (*.f64 x (-.f64 z y)))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (-.f64 #s(literal 0 binary64) y) z))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) y))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (*.f64 y #s(literal 3 binary64)) (+.f64 z (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal -2 binary64))))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (+.f64 z y) (*.f64 y #s(literal -2 binary64))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (*.f64 y #s(literal -2 binary64)) (+.f64 z y)))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (+.f64 z (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal -2 binary64)))) (*.f64 y #s(literal 3 binary64))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (+.f64 (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)) (*.f64 y #s(literal 2 binary64))))) |
(neg.f64 (*.f64 (-.f64 #s(literal 0 binary64) x) (-.f64 z y))) |
(*.f64 x (+.f64 (-.f64 #s(literal 0 binary64) y) z)) |
(*.f64 x (+.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) y)) |
(*.f64 x (+.f64 (*.f64 y #s(literal 3 binary64)) (+.f64 z (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal -2 binary64)))))) |
(*.f64 x (+.f64 (*.f64 y #s(literal -2 binary64)) (+.f64 z y))) |
(*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)))) |
(*.f64 x (+.f64 y (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(*.f64 x (+.f64 (+.f64 z (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal -2 binary64)))) (*.f64 y #s(literal 3 binary64)))) |
(*.f64 x (+.f64 (+.f64 z (-.f64 (*.f64 y #s(literal -2 binary64)) y)) (*.f64 y #s(literal 2 binary64)))) |
(*.f64 x (-.f64 z y)) |
(*.f64 x (+.f64 (+.f64 z y) (*.f64 y #s(literal -2 binary64)))) |
(*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x (-.f64 z y)))) |
(+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) #s(literal 0 binary64)) |
(+.f64 (*.f64 x (+.f64 z y)) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x (-.f64 z y))) |
(+.f64 (*.f64 x z) (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (*.f64 x z)) |
(+.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (*.f64 x y)) |
(+.f64 (*.f64 x (-.f64 z y)) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) #s(literal 0 binary64)) |
(-.f64 (*.f64 x (+.f64 z y)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x y)) (neg.f64 (*.f64 x (-.f64 z y)))) |
(-.f64 (*.f64 x z) (*.f64 x (*.f64 y #s(literal 2 binary64)))) |
(-.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 x z))) |
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(-.f64 (+.f64 (*.f64 x z) (*.f64 (*.f64 x y) #s(literal -3 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 x y))) |
(-.f64 (*.f64 x (-.f64 z y)) (*.f64 x y)) |
(fma.f64 x z (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(fma.f64 x (*.f64 y #s(literal -2 binary64)) (*.f64 x z)) |
(fma.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64))) #s(literal 0 binary64)) |
(fma.f64 z x (*.f64 x (*.f64 y #s(literal -2 binary64)))) |
(fma.f64 y (*.f64 x #s(literal -2 binary64)) (*.f64 x z)) |
(fma.f64 #s(literal -2 binary64) (*.f64 x y) (*.f64 x z)) |
(fma.f64 (*.f64 y #s(literal -2 binary64)) x (*.f64 x z)) |
(fma.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x #s(literal 0 binary64)) |
(fma.f64 (*.f64 x y) #s(literal -2 binary64) (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) y) (*.f64 x #s(literal 2 binary64)) (*.f64 x z)) |
(fma.f64 (-.f64 #s(literal 0 binary64) x) (*.f64 y #s(literal 2 binary64)) (*.f64 x z)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))) (*.f64 x z)) |
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x y)) (*.f64 x z)) |
(fma.f64 (*.f64 x #s(literal -2 binary64)) y (*.f64 x z)) |
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))))) |
(*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) |
(*.f64 (+.f64 z (*.f64 y #s(literal -2 binary64))) x) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) #s(literal 0 binary64)) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (*.f64 (*.f64 x #s(literal 3 binary64)) (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal 2 binary64))))) |
(+.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) (*.f64 (+.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 y #s(literal 2 binary64))) (*.f64 x #s(literal 3 binary64)))) |
(+.f64 #s(literal 0 binary64) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 x y) #s(literal -3 binary64)) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64))))) |
(+.f64 (*.f64 (*.f64 x y) #s(literal -3 binary64)) (*.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) #s(literal 3 binary64))) |
(+.f64 (*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x #s(literal 3 binary64)))) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 y #s(literal -2 binary64))))) |
(+.f64 (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 y #s(literal -2 binary64)))) (*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x #s(literal 3 binary64))))) |
(+.f64 (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 y #s(literal 2 binary64)))) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(+.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 y #s(literal -2 binary64))) (*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 y #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 y #s(literal 3 binary64))) (*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 y #s(literal -2 binary64)))) |
(+.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) #s(literal 0 binary64)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 x #s(literal 3 binary64))) (*.f64 (*.f64 y #s(literal 3 binary64)) (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) #s(literal 3 binary64)) (*.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) #s(literal 3 binary64))) |
(+.f64 (*.f64 (*.f64 x (*.f64 y #s(literal -2 binary64))) #s(literal 3 binary64)) (*.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) #s(literal 3 binary64))) |
(+.f64 (*.f64 (*.f64 x (*.f64 y #s(literal 2 binary64))) #s(literal 3 binary64)) (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(+.f64 (*.f64 (*.f64 y #s(literal 3 binary64)) (*.f64 x #s(literal 3 binary64))) (*.f64 (*.f64 y #s(literal -2 binary64)) (*.f64 x #s(literal 3 binary64)))) |
(+.f64 (*.f64 #s(literal 0 binary64) (*.f64 x #s(literal 3 binary64))) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(-.f64 (*.f64 y (*.f64 x #s(literal 3 binary64))) #s(literal 0 binary64)) |
(fma.f64 x (*.f64 y #s(literal 3 binary64)) #s(literal 0 binary64)) |
(fma.f64 y (*.f64 x #s(literal 3 binary64)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x y) #s(literal 3 binary64) #s(literal 0 binary64)) |
(fma.f64 #s(literal 3 binary64) (*.f64 x y) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x #s(literal 3 binary64)) y #s(literal 0 binary64)) |
(fma.f64 (*.f64 y #s(literal 3 binary64)) x #s(literal 0 binary64)) |
(neg.f64 (*.f64 (*.f64 x y) #s(literal -3 binary64))) |
(*.f64 x (*.f64 y #s(literal 3 binary64))) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(*.f64 (*.f64 x y) #s(literal 3 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 x y)) |
(*.f64 (*.f64 x #s(literal 3 binary64)) y) |
(*.f64 (*.f64 y #s(literal 3 binary64)) x) |
| 1× | egg-herbie |
| 2992× | +-lowering-+.f64 |
| 2992× | +-lowering-+.f32 |
| 1788× | sum3-define |
| 1646× | *-lowering-*.f32 |
| 1646× | *-lowering-*.f64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 122 | 1308 |
| 1 | 485 | 993 |
| 2 | 2284 | 915 |
| 0 | 8371 | 915 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(+ (* -2 (* x y)) (* 3 (* x y))) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(* x z) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(* x z) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(* y (+ (* -2 x) (* 3 x))) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(* -1 (* y (+ (* -3 x) (* 2 x)))) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(* x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(* x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(* y (- (+ (* -2 x) (* 3 x)) x)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -1 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(* x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(* x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(* y (- (+ (* -2 x) (* 3 x)) (* 2 x))) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -2 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* x (+ z (* -2 y))) |
(* -2 (* x y)) |
(+ (* -2 (* x y)) (* x z)) |
(+ (* -2 (* x y)) (* x z)) |
(+ (* -2 (* x y)) (* x z)) |
(* x z) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(* x z) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(* x z) |
(+ (* -2 (* x y)) (* x z)) |
(+ (* -2 (* x y)) (* x z)) |
(+ (* -2 (* x y)) (* x z)) |
(* -2 (* x y)) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(* -2 (* x y)) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
(* 3 (* x y)) |
| Outputs |
|---|
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* x (+ z (+ (* -2 y) (* 3 y)))) |
(*.f64 x (+.f64 z y)) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(*.f64 x (+.f64 z y)) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(*.f64 x (+.f64 z y)) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(*.f64 x (+.f64 z y)) |
(* -1 (* x (+ (* -3 y) (* -1 (+ z (* -2 y)))))) |
(*.f64 x (+.f64 z y)) |
(+ (* -2 (* x y)) (* 3 (* x y))) |
(*.f64 x y) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(*.f64 x (+.f64 z y)) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(*.f64 x (+.f64 z y)) |
(+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) |
(*.f64 x (+.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* z (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (+ (* -2 (* x y)) (* 3 (* x y))) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* x z) |
(*.f64 x z) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(*.f64 x (+.f64 z y)) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(*.f64 x (+.f64 z y)) |
(+ (* x z) (* y (+ (* -2 x) (* 3 x)))) |
(*.f64 x (+.f64 z y)) |
(* y (+ (* -2 x) (* 3 x))) |
(*.f64 x y) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* y (+ (* -2 x) (+ (* 3 x) (/ (* x z) y)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* -1 (* y (+ (* -3 x) (* 2 x)))) |
(*.f64 x y) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* -1 (* y (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal 1 binary64)))) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) y)) |
(*.f64 x z) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(*.f64 x z) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(*.f64 x z) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(*.f64 x z) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -1 y)))) |
(*.f64 x z) |
(- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) |
#s(literal 0 binary64) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(*.f64 x z) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(*.f64 x z) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* x y)) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(*.f64 x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(*.f64 x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (/ (* x y) z))) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* x y)) z))))) |
(*.f64 x z) |
(* x z) |
(*.f64 x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(*.f64 x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(*.f64 x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) x))) |
(*.f64 x z) |
(* y (- (+ (* -2 x) (* 3 x)) x)) |
#s(literal 0 binary64) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) x)) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -1 x)))) |
#s(literal 0 binary64) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -1 x)))) |
(*.f64 y (/.f64 (*.f64 x z) y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* x (- (+ z (+ (* -2 y) (* 3 y))) (* 2 y))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(*.f64 x (-.f64 z y)) |
(* -1 (* x (- (+ (* -3 y) (* -1 (+ z (* -2 y)))) (* -2 y)))) |
(*.f64 x (-.f64 z y)) |
(- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) |
(-.f64 #s(literal 0 binary64) (*.f64 x y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(*.f64 x (-.f64 z y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(*.f64 x (-.f64 z y)) |
(- (+ (* -2 (* x y)) (+ (* 3 (* x y)) (* x z))) (* 2 (* x y))) |
(*.f64 x (-.f64 z y)) |
(* x z) |
(*.f64 x z) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* z (- (+ x (+ (* -2 (/ (* x y) z)) (* 3 (/ (* x y) z)))) (* 2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* -1 (* z (+ (* -1 x) (* -1 (/ (- (+ (* -2 (* x y)) (* 3 (* x y))) (* 2 (* x y))) z))))) |
(*.f64 z (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 y z)))) |
(* x z) |
(*.f64 x z) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(*.f64 x (-.f64 z y)) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(*.f64 x (-.f64 z y)) |
(+ (* x z) (* y (- (+ (* -2 x) (* 3 x)) (* 2 x)))) |
(*.f64 x (-.f64 z y)) |
(* y (- (+ (* -2 x) (* 3 x)) (* 2 x))) |
(-.f64 #s(literal 0 binary64) (*.f64 x y)) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* y (- (+ (* -2 x) (+ (* 3 x) (/ (* x z) y))) (* 2 x))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* -1 (* y (- (+ (* -3 x) (* 2 x)) (* -2 x)))) |
(-.f64 #s(literal 0 binary64) (*.f64 x y)) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* -1 (* y (- (+ (* -3 x) (+ (* -1 (/ (* x z) y)) (* 2 x))) (* -2 x)))) |
(*.f64 y (*.f64 x (+.f64 (/.f64 z y) #s(literal -1 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x (+ z (* -2 y))) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* -2 (* x y)) |
(*.f64 x (*.f64 #s(literal -2 binary64) y)) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* x z) |
(*.f64 x z) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* z (+ x (* -2 (/ (* x y) z)))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* x z) |
(*.f64 x z) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* -1 (* z (+ (* -1 x) (* 2 (/ (* x y) z))))) |
(*.f64 z (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 y z) #s(literal -2 binary64))))) |
(* x z) |
(*.f64 x z) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(+ (* -2 (* x y)) (* x z)) |
(*.f64 x (-.f64 z (*.f64 y #s(literal 2 binary64)))) |
(* -2 (* x y)) |
(*.f64 x (*.f64 #s(literal -2 binary64) y)) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* y (+ (* -2 x) (/ (* x z) y))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* -2 (* x y)) |
(*.f64 x (*.f64 #s(literal -2 binary64) y)) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* -1 (* y (+ (* -1 (/ (* x z) y)) (* 2 x)))) |
(*.f64 y (*.f64 x (+.f64 #s(literal -2 binary64) (/.f64 z y)))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
(* 3 (* x y)) |
(*.f64 y (*.f64 x #s(literal 3 binary64))) |
Compiled 7225 to 822 computations (88.6% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 459 | 1 | 460 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 6 | 6 |
| Total | 460 | 7 | 467 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 63.6% | (-.f64 (*.f64 z x) (*.f64 y x)) |
| 53.2% | (-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) | |
| ✓ | 73.6% | (+.f64 y (*.f64 x z)) |
| ✓ | 63.5% | (*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| ✓ | 65.6% | (*.f64 x (-.f64 z y)) |
| ✓ | 39.4% | (*.f64 x z) |
| ✓ | 36.9% | y |
Compiled 145 to 75 computations (48.3% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+.f64 y (*.f64 x z)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 z x) (*.f64 y x)) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(-.f64 (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) (*.f64 y x)) |
(fma.f64 (-.f64 z y) x y) |
| Outputs |
|---|
(fma.f64 (-.f64 z y) x y) |
4 calls:
| 36.0ms | z |
| 4.0ms | y |
| 4.0ms | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 4.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
Compiled 24 to 17 computations (29.2% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+.f64 y (*.f64 x z)) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(-.f64 (*.f64 z x) (*.f64 y x)) |
(+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
(-.f64 (*.f64 x (+.f64 (*.f64 y #s(literal 2 binary64)) z)) (*.f64 y (*.f64 x #s(literal 3 binary64)))) |
(-.f64 (-.f64 (+.f64 (*.f64 x (+.f64 z (*.f64 y #s(literal -2 binary64)))) (*.f64 (*.f64 y x) #s(literal 3 binary64))) (*.f64 y x)) (*.f64 y x)) |
| Outputs |
|---|
(-.f64 y (*.f64 x (-.f64 y z))) |
4 calls:
| 30.0ms | y |
| 4.0ms | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
| 4.0ms | x |
| 4.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | z |
| 100.0% | 1 | (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) x) y) (*.f64 x z)) |
Compiled 24 to 17 computations (29.2% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(+.f64 y (*.f64 x z)) |
| Outputs |
|---|
(*.f64 x (-.f64 z y)) |
(+.f64 y (*.f64 x z)) |
(*.f64 x (-.f64 z y)) |
3 calls:
| 3.0ms | y |
| 2.0ms | z |
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.1% | 3 | x |
| 86.1% | 3 | y |
| 88.8% | 3 | z |
Compiled 12 to 9 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (-.f64 z y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
| Outputs |
|---|
(*.f64 x (-.f64 z y)) |
(*.f64 y (-.f64 #s(literal 1 binary64) x)) |
(*.f64 x (-.f64 z y)) |
2 calls:
| 18.0ms | x |
| 2.0ms | z |
| Accuracy | Segments | Branch |
|---|---|---|
| 82.2% | 3 | z |
| 87.6% | 3 | x |
Compiled 8 to 6 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
(*.f64 x (-.f64 z y)) |
| Outputs |
|---|
(*.f64 x (-.f64 z y)) |
y |
(*.f64 x (-.f64 z y)) |
1 calls:
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 87.3% | 3 | x |
Compiled 4 to 3 computations (25% saved)
| Inputs |
|---|
y |
(*.f64 x z) |
| Outputs |
|---|
(*.f64 x z) |
y |
(*.f64 x z) |
3 calls:
| 2.0ms | y |
| 2.0ms | z |
| 2.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 56.1% | 3 | z |
| 55.4% | 3 | y |
| 61.4% | 3 | x |
Compiled 12 to 9 computations (25% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
y |
| Outputs |
|---|
y |
3 calls:
| 1.0ms | y |
| 1.0ms | z |
| 1.0ms | x |
| Accuracy | Segments | Branch |
|---|---|---|
| 36.9% | 1 | y |
| 36.9% | 1 | z |
| 36.9% | 1 | x |
Compiled 12 to 9 computations (25% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 1.3221568303558455e-7 | 1.6260169945762998e-6 |
| 7.0ms | -661570550220.4456 | -427431034077.8471 |
| 11.0ms | 160× | 0 | valid |
Compiled 198 to 133 computations (32.8% saved)
ival-mult: 2.0ms (46.1% of total)ival-sub: 1.0ms (23.1% of total)ival-add: 1.0ms (23.1% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 6.907132388074613e-22 | 7.948503095808349e-18 |
| 9.0ms | -7.364778540843087 | -0.6352770122383955 |
| 16.0ms | 224× | 0 | valid |
Compiled 270 to 195 computations (27.8% saved)
ival-mult: 5.0ms (64.7% of total)ival-sub: 1.0ms (12.9% of total)ival-add: 1.0ms (12.9% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 6.907132388074613e-22 | 7.948503095808349e-18 |
| 9.0ms | -1.6119077861081578e-21 | -1.0736084289828293e-22 |
| 17.0ms | 224× | 0 | valid |
Compiled 214 to 153 computations (28.5% saved)
ival-mult: 3.0ms (49.6% of total)ival-sub: 1.0ms (16.5% of total)ival-add: 1.0ms (16.5% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 6.907132388074613e-22 | 7.948503095808349e-18 |
| 11.0ms | -1.6119077861081578e-21 | -1.0736084289828293e-22 |
| 17.0ms | 224× | 0 | valid |
Compiled 186 to 139 computations (25.3% saved)
ival-mult: 4.0ms (53.5% of total)ival-sub: 2.0ms (26.8% of total)ival-add: 1.0ms (13.4% of total)const: 0.0ms (0% of total)backward-pass: 0.0ms (0% of total)| 1× | egg-herbie |
| 180× | unsub-neg_binary64 |
| 106× | neg-mul-1_binary64 |
| 104× | distribute-lft-neg-in_binary64 |
| 60× | neg-sub0_binary64 |
| 48× | sub-neg_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 80 |
| 1 | 66 | 80 |
| 2 | 84 | 80 |
| 3 | 97 | 80 |
| 4 | 118 | 80 |
| 5 | 143 | 80 |
| 6 | 165 | 80 |
| 7 | 216 | 80 |
| 8 | 312 | 80 |
| 9 | 367 | 80 |
| 10 | 382 | 80 |
| 11 | 404 | 80 |
| 12 | 429 | 80 |
| 13 | 462 | 80 |
| 14 | 499 | 80 |
| 15 | 506 | 80 |
| 16 | 507 | 80 |
| 1× | saturated |
| Inputs |
|---|
(fma.f64 (-.f64 z y) x y) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(if (<=.f64 x #s(literal -430000000000 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 944473296573929/590295810358705651712 binary64)) (+.f64 y (*.f64 x z)) (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -8106479329266893/4503599627370496 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 1298074214633707/1298074214633706907132624082305024 binary64)) (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 2466341007804043/324518553658426726783156020576256 binary64)) y (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 x z) (if (<=.f64 x #s(literal 1412304745521473/20769187434139310514121985316880384 binary64)) y (*.f64 x z))) |
y |
| Outputs |
|---|
(fma.f64 (-.f64 z y) x y) |
(-.f64 y (*.f64 x (-.f64 y z))) |
(+.f64 y (*.f64 (-.f64 z y) x)) |
(if (<=.f64 x #s(literal -430000000000 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 944473296573929/590295810358705651712 binary64)) (+.f64 y (*.f64 x z)) (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -430000000000 binary64)) (*.f64 (-.f64 z y) x) (if (<=.f64 x #s(literal 944473296573929/590295810358705651712 binary64)) (+.f64 y (*.f64 z x)) (*.f64 (-.f64 z y) x))) |
(if (<=.f64 x #s(literal -8106479329266893/4503599627370496 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 1298074214633707/1298074214633706907132624082305024 binary64)) (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -8106479329266893/4503599627370496 binary64)) (*.f64 (-.f64 z y) x) (if (<=.f64 x #s(literal 1298074214633707/1298074214633706907132624082305024 binary64)) (*.f64 y (-.f64 #s(literal 1 binary64) x)) (*.f64 (-.f64 z y) x))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 x (-.f64 z y)) (if (<=.f64 x #s(literal 2466341007804043/324518553658426726783156020576256 binary64)) y (*.f64 x (-.f64 z y)))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 (-.f64 z y) x) (if (<=.f64 x #s(literal 2466341007804043/324518553658426726783156020576256 binary64)) y (*.f64 (-.f64 z y) x))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 x z) (if (<=.f64 x #s(literal 1412304745521473/20769187434139310514121985316880384 binary64)) y (*.f64 x z))) |
(if (<=.f64 x #s(literal -2924301590726815/5316911983139663491615228241121378304 binary64)) (*.f64 z x) (if (<=.f64 x #s(literal 1412304745521473/20769187434139310514121985316880384 binary64)) y (*.f64 z x))) |
y |
| 2192× | *-lowering-*.f32 |
| 2192× | *-lowering-*.f64 |
| 2056× | sum5-define |
| 2034× | fmsub-define |
| 2012× | fnmsub-define |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 8 |
| 1 | 16 | 8 |
| 2 | 29 | 8 |
| 3 | 59 | 7 |
| 4 | 135 | 7 |
| 5 | 270 | 6 |
| 6 | 472 | 6 |
| 7 | 907 | 6 |
| 8 | 3136 | 6 |
| 9 | 3982 | 6 |
| 10 | 4433 | 6 |
| 11 | 4473 | 6 |
| 0 | 4473 | 6 |
| 0 | 113 | 900 |
| 1 | 404 | 819 |
| 2 | 1219 | 819 |
| 3 | 3854 | 819 |
| 4 | 7886 | 819 |
| 0 | 8138 | 819 |
| 0 | 11 | 35 |
| 1 | 26 | 35 |
| 2 | 60 | 35 |
| 3 | 168 | 30 |
| 4 | 438 | 30 |
| 5 | 1737 | 30 |
| 6 | 4815 | 30 |
| 0 | 8096 | 30 |
| 1× | fuel |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | saturated |
Compiled 174 to 84 computations (51.7% saved)
Compiled 238 to 96 computations (59.7% saved)
Loading profile data...