
Time bar (total: 4.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 5 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 6 |
| 75% | 74.9% | 25% | 0.2% | 0% | 0% | 0% | 7 |
| 87.5% | 87.3% | 12.5% | 0.2% | 0% | 0% | 0% | 8 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 9 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 10 |
| 93.8% | 93.6% | 6.2% | 0.2% | 0% | 0% | 0% | 11 |
| 96.9% | 96.7% | 3.1% | 0.2% | 0% | 0% | 0% | 12 |
Compiled 17 to 13 computations (23.5% saved)
| 741.0ms | 8 256× | 0 | valid |
ival-mult!: 245.0ms (63.5% of total)ival-add!: 60.0ms (15.5% of total)ival-div!: 58.0ms (15% of total)ival-sub!: 21.0ms (5.4% of total)adjust: 2.0ms (0.5% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 225 |
| 1 | 427 | 225 |
| 2 | 3362 | 225 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 66.4% | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
Compiled 30 to 22 computations (26.7% saved)
| Inputs |
|---|
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
(*.f64 x.im y.re) |
x.im |
y.re |
(*.f64 x.re y.im) |
x.re |
y.im |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re))) |
#s(approx (* x.re y.im) (*.f64 x.re y.im)) |
#s(approx x.re x.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) x.re) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) x.re)) (*.f64 #s(literal -1 binary64) y.im))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) |
#s(approx x.im x.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.re (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx y.re y.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (pow.f64 y.im #s(literal 2 binary64))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* y.re y.re) (pow.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.re (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.re))) y.re))) y.re))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 4 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 x.im y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im y.re (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im)) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) y.im) (*.f64 x.im y.re)) y.im))) y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 11.0ms | y.im | inf |
| 5.0ms | x.im | inf |
| 4.0ms | x.re | inf |
| 4.0ms | x.re | 0 |
| 3.0ms | x.re | -inf |
| Inputs |
|---|
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
(*.f64 x.im y.re) |
x.im |
y.re |
(*.f64 x.re y.im) |
x.re |
y.im |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
| Outputs |
|---|
(*.f64 (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re))) (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) |
(*.f64 (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re y.re (*.f64 y.im y.im))) |
(*.f64 (/.f64 (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re))) (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re)))) (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) |
(*.f64 (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 (fma.f64 (*.f64 y.re y.re) y.re (*.f64 (*.f64 y.im y.im) y.im)) (-.f64 (*.f64 (*.f64 y.re y.re) y.re) (*.f64 (*.f64 y.im y.im) y.im)))) (fma.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (*.f64 y.im y.im) (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re)))) |
(*.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im))))) |
(*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re)))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re))) (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re)))) (fma.f64 y.im x.re (*.f64 x.im y.re))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re))) (fma.f64 (*.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (*.f64 x.re y.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.im) (*.f64 (*.f64 y.re y.re) y.re)))) (fma.f64 (*.f64 x.re y.im) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re)))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re))) (fma.f64 (*.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (*.f64 x.re y.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.im) (*.f64 (*.f64 y.re y.re) y.re)))) (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re)))) |
(*.f64 (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re))) (/.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 (*.f64 x.re y.im) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 (*.f64 x.im x.im) (*.f64 y.re y.re))))) |
(*.f64 x.im y.re) |
(*.f64 y.re x.im) |
x.im |
y.re |
(neg.f64 (neg.f64 y.re)) |
(*.f64 x.re y.im) |
(*.f64 y.im x.re) |
(*.f64 (neg.f64 x.re) (neg.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 x.re)) |
(neg.f64 (neg.f64 (*.f64 x.re y.im))) |
x.re |
(neg.f64 (neg.f64 x.re)) |
y.im |
(neg.f64 (neg.f64 y.im)) |
(*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)) |
(*.f64 (+.f64 y.im y.re) (-.f64 y.im y.re)) |
(*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re)) |
(*.f64 (+.f64 (fabs.f64 y.re) (neg.f64 y.im)) (-.f64 (fabs.f64 y.re) (neg.f64 y.im))) |
(*.f64 (+.f64 (fabs.f64 y.re) (neg.f64 y.im)) (-.f64 (neg.f64 y.im) (fabs.f64 y.re))) |
(*.f64 y.re y.re) |
(*.f64 (fabs.f64 y.re) (fabs.f64 y.re)) |
(*.f64 (fabs.f64 y.re) y.re) |
(*.f64 (fabs.f64 y.re) (neg.f64 y.re)) |
(*.f64 (neg.f64 y.re) y.re) |
(*.f64 y.im y.im) |
(*.f64 (fabs.f64 y.im) (fabs.f64 y.im)) |
(*.f64 (fabs.f64 y.im) y.im) |
(*.f64 (fabs.f64 y.im) (neg.f64 y.im)) |
(*.f64 (neg.f64 y.im) y.im) |
Compiled 2 283 to 393 computations (82.8% saved)
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 69 | 11 | 80 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 70 | 11 | 81 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 43.8% | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re))) |
| 44.0% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 40.6% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 45.5% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) | |
| 39.8% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) | |
| ▶ | 49.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| ▶ | 55.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
| ▶ | 45.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| 57.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) | |
| ▶ | 62.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
| 40.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
Compiled 610 to 392 computations (35.7% saved)
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
(*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
x.im |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
(*.f64 x.re y.im) |
x.re |
y.im |
(*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
(+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.im #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(pow.f64 y.re #s(literal 2 binary64)) |
y.re |
(/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im) |
(fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) |
(/.f64 (*.f64 x.im y.re) y.im) |
(*.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re) |
(+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) |
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)) |
(/.f64 (*.f64 x.re y.im) y.re) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re))) |
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
(*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re)) |
(-.f64 y.re y.im) |
(+.f64 y.im y.re) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (* x.re y.im) (*.f64 x.re y.im)) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (/.f64 x.im y.re)) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im y.re))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) x.im) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) |
#s(approx (* -1 (/ (* x.re y.im) y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (* x.re y.im) y.re) (/.f64 (*.f64 x.re y.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (*.f64 x.im y.re) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.im y.re) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im)))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) #s(literal 1 binary64)))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 x.re y.re))))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im y.re) (/.f64 x.im x.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) x.re) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.re (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.im (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im x.re) (/.f64 y.im y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) (/.f64 y.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) x.re)) (*.f64 #s(literal -1 binary64) y.im))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) x.im)) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 x.im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) (/.f64 y.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 x.im y.im)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re y.im) (/.f64 x.re x.im))))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.re (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 4 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (*.f64 y.re (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (*.f64 y.re (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 y.re (pow.f64 y.im #s(literal 4 binary64))) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 x.re (*.f64 x.im y.im))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (*.f64 x.im y.im)))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 5 binary64)))) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re (*.f64 x.im y.im)))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 7 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 5 binary64))))))) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re (*.f64 x.im y.im)))) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (fma.f64 x.im (pow.f64 y.im #s(literal 2 binary64)) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (pow y.im 2) (pow y.re 2)) (pow.f64 y.im #s(literal 2 binary64))) |
#s(approx (+ (pow y.im 2) (pow y.re 2)) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (pow y.re 2) (pow.f64 y.re #s(literal 2 binary64))) |
#s(approx y.re y.re) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 y.re (fma.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 y.re (fma.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 8 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 6 binary64))))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 #s(literal -1 binary64) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (fma.f64 #s(literal -1 binary64) (pow.f64 y.im #s(literal 2 binary64)) (*.f64 y.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (fma.f64 #s(literal -1 binary64) (pow.f64 y.im #s(literal 2 binary64)) (*.f64 y.re (+.f64 y.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.im)))))) |
#s(approx (- y.re y.im) (*.f64 #s(literal -1 binary64) y.im)) |
#s(approx (- y.re y.im) (-.f64 y.re y.im)) |
#s(approx (+ y.im y.re) y.im) |
#s(approx (+ y.im y.re) (+.f64 y.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (/.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64)))))) y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))) y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.im) x.im)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (-.f64 (+.f64 (/.f64 (*.f64 x.re y.im) x.im) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 5 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64))))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 7 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 6 binary64)))) (/.f64 (*.f64 x.re y.im) x.im)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 5 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 x.im (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (pow y.im 2) (pow y.re 2)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) y.re)) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.im #s(literal 4 binary64)) (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 6 binary64)) (pow.f64 y.re #s(literal 6 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 4 binary64)) (pow.f64 y.re #s(literal 4 binary64))) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) y.re)) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (pow.f64 y.re #s(literal 2 binary64)))))) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))))) (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))))) (pow.f64 y.re #s(literal 3 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (+.f64 (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (pow.f64 y.re #s(literal 2 binary64)))))) y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.re (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 y.im y.re) (/.f64 y.im y.re))))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 y.im y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 y.im y.re)))))) |
#s(approx (- y.re y.im) (*.f64 y.re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re))))) |
#s(approx (+ y.im y.re) (*.f64 y.re (+.f64 #s(literal 1 binary64) (/.f64 y.im y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.re))) y.re))) y.re))) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) y.re))) y.re))) y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64)) y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) y.re)) #s(literal 1 binary64)) y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re)) #s(literal 1 binary64)) y.re))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))) #s(literal 1 binary64)) y.re))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 4 binary64)) (pow.f64 y.re #s(literal 4 binary64)))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) y.re))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (pow.f64 y.im #s(literal 6 binary64)) (pow.f64 y.re #s(literal 6 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (pow.f64 y.im #s(literal 4 binary64)) (pow.f64 y.re #s(literal 4 binary64)))))) y.re))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 y.im y.re)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))))))) y.re)))) y.re))) y.re))) y.re))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)) y.re))))) |
#s(approx (- y.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (-.f64 (/.f64 y.im y.re) #s(literal 1 binary64))))) |
#s(approx (+ y.im y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)) #s(literal 1 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 4 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 x.im y.re))) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 4 binary64)))))) (/.f64 x.im y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 y.im (fma.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 6 binary64)))) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64))))) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 y.im (fma.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.re #s(literal 8 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 6 binary64))))))) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 4 binary64))))) (/.f64 x.re (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (fma.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 5 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (fma.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 7 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 5 binary64))))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) y.re))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (pow.f64 y.re #s(literal 2 binary64))))))) (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (fma.f64 y.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (fma.f64 y.im (+.f64 y.re (fma.f64 #s(literal -1 binary64) y.im (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (- y.re y.im) (+.f64 y.re (*.f64 #s(literal -1 binary64) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))))) y.im)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (+.f64 (/.f64 y.re y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) y.im)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 3 binary64)) (pow.f64 y.im #s(literal 3 binary64))) (+.f64 (/.f64 y.re y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) y.im)) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.re x.im)) y.im)) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (-.f64 (+.f64 (/.f64 x.re x.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 4 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 4 binary64))))) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 6 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 6 binary64)))) (/.f64 x.re x.im)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 4 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) y.im)) |
#s(approx (* x.im (+ (pow y.im 2) (pow y.re 2))) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 x.im (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (pow y.im 2) (pow y.re 2)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 3 binary64)) (pow.f64 y.im #s(literal 2 binary64))))) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (-.f64 (+.f64 y.re (/.f64 (pow.f64 y.re #s(literal 5 binary64)) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 (pow.f64 y.re #s(literal 3 binary64)) (pow.f64 y.im #s(literal 2 binary64)))) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/.f64 (-.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 7 binary64)) (pow.f64 y.im #s(literal 6 binary64))))) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 5 binary64)) (pow.f64 y.im #s(literal 4 binary64))) (/.f64 (pow.f64 y.re #s(literal 3 binary64)) (pow.f64 y.im #s(literal 2 binary64))))) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 y.im y.re))))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))))) (pow.f64 y.im #s(literal 2 binary64)))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))))))) (pow.f64 y.im #s(literal 3 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))) (pow.f64 y.im #s(literal 2 binary64))))))) y.im)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 y.re y.im) (/.f64 y.re y.im)) #s(literal 1 binary64)))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 y.re y.im) (+.f64 (/.f64 y.re y.im) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 2 binary64))))) #s(literal 1 binary64)))) |
#s(approx (- y.re y.im) (*.f64 y.im (-.f64 (/.f64 y.re y.im) #s(literal 1 binary64)))) |
#s(approx (+ y.im y.re) (*.f64 y.im (+.f64 #s(literal 1 binary64) (/.f64 y.re y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im y.re (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im)) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) y.im) (*.f64 x.im y.re)) y.im))) y.im))) |
#s(approx (* x.im (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2))))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) y.im)) y.im) (*.f64 x.im y.re)) y.im))) y.im))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 y.re y.im) (/.f64 x.re x.im)) y.im))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y.re (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im y.im))) y.im) (/.f64 x.re x.im)) y.im))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (pow.f64 y.re #s(literal 3 binary64)) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) x.im)) y.im))) y.im) (/.f64 x.re x.im)) y.im))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.im))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 4 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) y.im))) |
#s(approx (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 4 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 4 binary64)))) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 6 binary64))) (*.f64 x.im (pow.f64 y.im #s(literal 6 binary64))))))) y.im))) |
#s(approx (/ (+ x.im (* -1 (/ (* x.re y.im) y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im))) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) y.im) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.im))) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re))))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) y.im)) #s(literal 1 binary64)))) |
#s(approx (* (- y.re y.im) (+ y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y.re (fma.f64 #s(literal -1 binary64) y.re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) y.im)))) y.im)) #s(literal 1 binary64)))) |
#s(approx (- y.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y.re y.im)))))) |
#s(approx (+ y.im y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y.re y.im)) #s(literal 1 binary64))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 12.0ms | y.re | -inf |
| 10.0ms | x.im | -inf |
| 8.0ms | y.im | 0 |
| 7.0ms | x.im | 0 |
| 6.0ms | y.re | inf |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
(*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
x.im |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
(*.f64 x.re y.im) |
x.re |
y.im |
(*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
(+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.im #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(pow.f64 y.re #s(literal 2 binary64)) |
y.re |
(/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im) |
(fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) |
(/.f64 (*.f64 x.im y.re) y.im) |
(*.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re) |
(+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) |
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)) |
(/.f64 (*.f64 x.re y.im) y.re) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re))) |
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) |
(*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re)) |
(-.f64 y.re y.im) |
(+.f64 y.im y.re) |
| Outputs |
|---|
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
(*.f64 (*.f64 x.im (-.f64 y.re y.im)) (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im)) x.im) |
(*.f64 (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im)) (-.f64 y.re y.im)) |
(*.f64 x.im (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
(*.f64 (-.f64 y.re y.im) (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
x.im |
(neg.f64 (neg.f64 x.im)) |
(*.f64 (*.f64 x.im (-.f64 y.re y.im)) (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im)) x.im) |
(*.f64 (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im)) (-.f64 y.re y.im)) |
(*.f64 x.im (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
(*.f64 (-.f64 y.re y.im) (/.f64 (fma.f64 (/.f64 x.re x.im) y.im y.re) (-.f64 y.re y.im))) |
#s(literal -1 binary64) |
(neg.f64 (neg.f64 #s(literal -1 binary64))) |
(*.f64 (/.f64 x.re x.im) (fma.f64 y.im y.re y.im)) |
(*.f64 (fma.f64 y.im y.re y.im) (/.f64 x.re x.im)) |
(*.f64 (*.f64 (neg.f64 #s(literal -1 binary64)) (/.f64 x.re x.im)) (fma.f64 y.im y.re y.im)) |
(*.f64 (*.f64 (neg.f64 #s(literal -1 binary64)) (/.f64 y.im x.im)) (/.f64 x.re (-.f64 y.re y.im))) |
(*.f64 (*.f64 (neg.f64 #s(literal -1 binary64)) y.im) (/.f64 x.re (*.f64 x.im (-.f64 y.re y.im)))) |
(*.f64 x.re y.im) |
(*.f64 y.im x.re) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) y.im) |
(*.f64 (*.f64 x.re y.im) y.im) |
x.re |
(*.f64 (neg.f64 #s(literal -1 binary64)) x.re) |
(*.f64 (neg.f64 x.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (neg.f64 x.re)) |
(*.f64 x.re (neg.f64 #s(literal -1 binary64))) |
y.im |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(*.f64 y.im y.im) |
(fabs.f64 y.im) |
(*.f64 x.im (-.f64 y.re y.im)) |
(*.f64 (neg.f64 x.im) (-.f64 y.re y.im)) |
(*.f64 (*.f64 x.im x.im) (-.f64 y.re y.im)) |
(*.f64 (*.f64 x.im y.re) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) (*.f64 x.im x.im)) |
(*.f64 (-.f64 y.re y.im) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) y.re) |
(*.f64 (-.f64 y.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 y.re y.im)) |
(*.f64 y.re (-.f64 y.re y.im)) |
y.im |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(*.f64 y.im y.im) |
(fabs.f64 y.im) |
#s(literal 2 binary64) |
#s(literal 0 binary64) |
#s(literal 1 binary64) |
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) |
(*.f64 (fabs.f64 #s(literal 2 binary64)) (fabs.f64 #s(literal 2 binary64))) |
y.re |
(*.f64 y.re y.re) |
(fabs.f64 y.re) |
(+.f64 (cosh.f64 (log.f64 y.re)) (sinh.f64 (log.f64 y.re))) |
(+.f64 (sinh.f64 (log.f64 y.re)) (cosh.f64 (log.f64 y.re))) |
y.re |
(*.f64 y.re y.re) |
(fabs.f64 y.re) |
(+.f64 (cosh.f64 (log.f64 y.re)) (sinh.f64 (log.f64 y.re))) |
(+.f64 (sinh.f64 (log.f64 y.re)) (cosh.f64 (log.f64 y.re))) |
(*.f64 (-.f64 y.re y.im) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) y.re) |
(*.f64 (-.f64 y.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 y.re y.im)) |
(*.f64 y.re (-.f64 y.re y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
(/.f64 (neg.f64 x.im) y.re) |
(neg.f64 (/.f64 x.im y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.im y.im) y.re (/.f64 x.re y.im))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) (/.f64 y.re y.im) (*.f64 x.re x.re)) (fma.f64 (/.f64 x.im y.im) y.re (/.f64 x.re y.im))) |
(*.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re))) (fma.f64 (/.f64 x.im y.im) y.re (/.f64 x.re y.im))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) y.im))) |
(+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 x.re y.im)) |
(*.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (fma.f64 (*.f64 x.im x.im) (/.f64 y.re y.im) (*.f64 x.re x.re))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) (/.f64 y.re y.im) (*.f64 x.re x.re)) (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (fma.f64 (*.f64 x.im x.im) (/.f64 y.re y.im) (*.f64 x.re x.re))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.im x.im) y.re) y.im) (*.f64 x.re x.re)) (neg.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.im x.im) y.re) y.im) (*.f64 x.re x.re)) (fma.f64 (/.f64 x.im y.im) y.re x.re)) |
(*.f64 (neg.f64 x.im) (/.f64 y.re y.im)) |
(*.f64 (*.f64 #s(literal -1 binary64) y.re) (/.f64 x.im y.im)) |
(*.f64 (/.f64 x.im y.im) (/.f64 y.re y.im)) |
(*.f64 (/.f64 x.im y.im) y.re) |
(*.f64 (/.f64 y.re y.im) (/.f64 x.im y.im)) |
(*.f64 x.im y.re) |
(*.f64 y.re x.im) |
(*.f64 (neg.f64 x.im) y.re) |
(*.f64 (*.f64 x.im y.re) y.re) |
(*.f64 y.re (neg.f64 x.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(*.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) y.re))) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) y.re))) |
(+.f64 (/.f64 (*.f64 x.re y.im) y.re) (/.f64 x.im y.re)) |
(*.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.re) y.im x.im)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) |
(*.f64 (neg.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) (neg.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)))) |
(*.f64 (neg.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) (neg.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im))) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (/.f64 x.re y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 x.re y.re) y.im) |
(*.f64 (/.f64 y.im y.re) (neg.f64 x.re)) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (/.f64 x.re y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 x.re y.re) y.im) |
(*.f64 (/.f64 y.im y.re) (neg.f64 x.re)) |
(*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) (fma.f64 y.im x.re (*.f64 x.im y.re))) |
(*.f64 (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re)) (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (-.f64 y.re y.im))) |
(*.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (-.f64 y.re y.im)) (-.f64 (-.f64 y.re y.im) y.im)) |
(*.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (-.f64 y.re y.im)) (/.f64 (-.f64 (-.f64 y.re y.im) y.im) (-.f64 y.re y.im))) |
(*.f64 (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re)) (fma.f64 y.im x.re (*.f64 x.im y.re))) |
(*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.re y.im) x.re (*.f64 (*.f64 x.im x.im) y.re)) (fma.f64 y.re (*.f64 x.im x.im) (pow.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im)) (fma.f64 (fma.f64 y.im x.re (*.f64 x.im y.re)) (*.f64 x.re y.im) (*.f64 (*.f64 x.im x.im) y.re)) (*.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (-.f64 y.re y.im) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) y.re) |
(*.f64 (-.f64 y.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 y.re y.im)) |
(*.f64 y.re (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) y.re) |
(*.f64 (-.f64 y.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 y.re y.im)) |
(*.f64 y.re (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) (-.f64 y.re y.im)) |
(*.f64 (-.f64 y.re y.im) y.re) |
(*.f64 (-.f64 y.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (-.f64 y.re y.im)) |
(*.f64 y.re (-.f64 y.re y.im)) |
Compiled 14 881 to 2 003 computations (86.5% saved)
23 alts after pruning (21 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 326 | 19 | 345 |
| Fresh | 4 | 2 | 6 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 0 | 0 |
| Total | 333 | 23 | 356 |
| Status | Accuracy | Program |
|---|---|---|
| 44.0% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| ▶ | 40.6% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| ✓ | 49.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| 51.7% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) | |
| ▶ | 56.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| 55.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) | |
| 12.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) | |
| 22.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) | |
| 49.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) y.im)) | |
| 40.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) | |
| 48.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) | |
| 54.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) y.re)) | |
| ✓ | 45.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| 20.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) y.im)))) | |
| 45.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)))) | |
| 46.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) | |
| 44.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) | |
| 42.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 46.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 32.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) | |
| ▶ | 39.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
| ▶ | 11.8% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| ▶ | 38.2% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
Compiled 1 665 to 978 computations (41.3% saved)
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re) |
(+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) |
x.im |
(*.f64 (/.f64 y.im y.re) (neg.f64 x.re)) |
(/.f64 y.im y.re) |
y.im |
y.re |
(neg.f64 x.re) |
x.re |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
(/.f64 x.re y.im) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) |
(/.f64 x.re y.re) |
(/.f64 x.im y.re) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) |
(*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) |
#s(literal -1 binary64) |
(*.f64 x.re y.im) |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
(*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
(fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
(/.f64 x.re (*.f64 y.im y.re)) |
(*.f64 y.im y.re) |
(/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) |
(pow.f64 y.im #s(literal 2 binary64)) |
#s(literal 2 binary64) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (/.f64 x.im y.re)) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im y.re))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) x.im) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) |
#s(approx (* (/ y.im y.re) (neg x.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (neg x.re) (*.f64 #s(literal -1 binary64) x.re)) |
#s(approx x.re x.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (*.f64 x.im y.re) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.im y.re) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))) |
#s(approx (/ x.re y.im) (/.f64 x.re y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re)))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (+.f64 (/.f64 x.im y.re) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re))) |
#s(approx (* -1 (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) |
#s(approx (* x.re y.im) (*.f64 x.re y.im)) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (/ x.re (* y.im y.re)) (/.f64 x.re (*.f64 y.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 x.re y.re))))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im y.re) (/.f64 x.im x.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (*.f64 x.re (+.f64 (/.f64 y.im (+.f64 y.im y.re)) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 y.im y.re)))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re)) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.re)) (/.f64 y.im y.re)))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) x.re) y.im))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im)))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 x.re (-.f64 (/.f64 x.im (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 y.im y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im x.re) (/.f64 y.im y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) (/.f64 y.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 y.im y.re)))))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) x.re)) (*.f64 #s(literal -1 binary64) y.im))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 y.im y.re)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 x.im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))) (/.f64 y.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (*.f64 x.im (+.f64 (/.f64 y.re (+.f64 y.im y.re)) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 y.im y.re)))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (*.f64 y.im y.re))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (*.f64 (+.f64 y.im y.re) (-.f64 y.re y.im)))))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 y.im y.re)))))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.re (/.f64 (*.f64 x.re y.im) x.im))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 x.im y.im)))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 x.re (*.f64 x.im (*.f64 y.im y.re))) (/.f64 #s(literal 1 binary64) (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) y.re)) |
#s(approx (/ y.im y.re) (/.f64 y.im y.re)) |
#s(approx y.re y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64)))))) (pow.f64 y.im #s(literal 2 binary64)))))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.re (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.im))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im)) (/.f64 x.re y.im))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im)) (/.f64 x.re y.im))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (+.f64 x.im (*.f64 x.re y.im)) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (pow.f64 y.im #s(literal 2 binary64))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* y.re y.re) (pow.f64 y.re #s(literal 2 binary64))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64)))) y.re)) |
#s(approx (* y.im y.re) (*.f64 y.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (pow.f64 y.re #s(literal 2 binary64)))))) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))))) (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))))) (pow.f64 y.re #s(literal 3 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (+.f64 (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re) (/.f64 (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (pow.f64 y.re #s(literal 2 binary64)))))) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.im))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.im) y.re))) (/.f64 (*.f64 x.im y.im) y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.im (+.f64 (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.im))) (pow.f64 y.re #s(literal 3 binary64))))) (+.f64 (/.f64 (*.f64 x.im y.im) y.re) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.im))) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.re (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)) (-.f64 (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (+.f64 y.im (*.f64 #s(literal -1 binary64) y.im)))))))))) y.re)))) y.re))) y.re))) y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im))) y.re)))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)))) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im))) y.re)))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)))))) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im))) y.re)))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) y.re))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 y.im y.re)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 4 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 x.im y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (pow.f64 y.re #s(literal 2 binary64))))))) (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64))))) (pow.f64 y.re #s(literal 2 binary64))))))) (/.f64 (*.f64 x.im (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.im (-.f64 (/.f64 x.re y.re) (/.f64 x.im y.re))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) (/.f64 x.im y.re))))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) (/.f64 x.im y.re))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 y.im y.re))))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))))) (pow.f64 y.im #s(literal 2 binary64)))))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))))))) (pow.f64 y.im #s(literal 3 binary64)))))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))) y.im) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))))) (pow.f64 y.im #s(literal 2 binary64))))))) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.re) y.im)) (/.f64 (*.f64 x.re y.re) y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.re))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.re) y.im))) (/.f64 (*.f64 x.re y.re) y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (-.f64 (+.f64 x.re (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.re))) (pow.f64 y.im #s(literal 3 binary64))))) (+.f64 (/.f64 (*.f64 x.re y.re) y.im) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.re))) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 y.im (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re y.re)))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im y.re (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im)) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) y.im) (*.f64 x.im y.re)) y.im))) y.im))) |
#s(approx (/ (+ x.im (* (/ y.im y.re) (neg x.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im))) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) y.im) (/.f64 (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re))))) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.im))) (*.f64 x.re (+.f64 y.re (*.f64 #s(literal -1 binary64) y.re)))) y.im))) y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re))) y.im)))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)))) y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re))) y.im)))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)))) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)))))) y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re))) y.im)))) |
#s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re)))))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re))))) |
#s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re)) y.im))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 6.0ms | x.re | -inf |
| 5.0ms | y.im | -inf |
| 5.0ms | y.im | inf |
| 4.0ms | y.re | 0 |
| 4.0ms | y.re | -inf |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re) |
(+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) |
x.im |
(*.f64 (/.f64 y.im y.re) (neg.f64 x.re)) |
(/.f64 y.im y.re) |
y.im |
y.re |
(neg.f64 x.re) |
x.re |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
(/.f64 x.re y.im) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) |
(/.f64 x.re y.re) |
(/.f64 x.im y.re) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) |
(*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) |
#s(literal -1 binary64) |
(*.f64 x.re y.im) |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
(*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
(fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
(/.f64 x.re (*.f64 y.im y.re)) |
(*.f64 y.im y.re) |
(/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) |
(pow.f64 y.im #s(literal 2 binary64)) |
#s(literal 2 binary64) |
| Outputs |
|---|
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im (*.f64 y.re (fma.f64 y.im x.re x.im))) y.re))) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im (*.f64 y.re (fma.f64 y.im x.re x.im))) y.re)) (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re)) |
(*.f64 (/.f64 (fma.f64 y.im x.re x.im) y.re) (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re)) |
(*.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.re) y.im x.im)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.re x.re) y.im) y.re) (*.f64 x.im x.im)) (-.f64 (/.f64 (*.f64 x.re y.im) y.re) x.im)) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.re x.re) y.im) y.re) (*.f64 x.im x.im)) (neg.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)))) |
x.im |
(neg.f64 (neg.f64 x.im)) |
(*.f64 (/.f64 y.im y.re) (neg.f64 x.re)) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (*.f64 x.re y.im) (/.f64 y.im y.re)) |
(*.f64 (/.f64 x.re y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 y.im y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 y.im y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)) |
(*.f64 (fabs.f64 (/.f64 y.im y.re)) (fabs.f64 (/.f64 y.im y.re))) |
(*.f64 (pow.f64 (/.f64 y.im y.re) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))) (pow.f64 (/.f64 y.im y.re) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64)))) |
y.im |
(*.f64 y.im y.im) |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(fabs.f64 y.im) |
y.re |
(*.f64 y.re y.re) |
(*.f64 y.re #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.re) |
(fabs.f64 y.re) |
(*.f64 x.re #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) x.re) |
(neg.f64 x.re) |
x.re |
(*.f64 (neg.f64 #s(literal -1 binary64)) x.re) |
(*.f64 (neg.f64 x.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (neg.f64 x.re)) |
(*.f64 x.re (neg.f64 #s(literal -1 binary64))) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 x.re y.im)) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (/.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) (/.f64 #s(literal -1 binary64) y.im)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re) |
(*.f64 (/.f64 x.re y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.re y.im)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.im y.re) (*.f64 x.im x.im)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im (*.f64 y.re (fma.f64 y.im x.re x.im))) y.re))) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im (*.f64 y.re (fma.f64 y.im x.re x.im))) y.re)) (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re)) |
(*.f64 (/.f64 (fma.f64 y.im x.re x.im) y.re) (/.f64 (fma.f64 (*.f64 x.re x.re) y.im (*.f64 x.im x.im)) y.re)) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (/.f64 x.re y.re)) |
(*.f64 (neg.f64 x.re) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.re) x.re) |
(*.f64 (/.f64 x.re y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.re y.re)) |
(/.f64 x.im y.re) |
(/.f64 (neg.f64 x.im) y.re) |
(neg.f64 (/.f64 x.im y.re)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) |
(*.f64 x.re y.im) |
(*.f64 y.im x.re) |
(*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) y.im) |
#s(literal -1 binary64) |
(*.f64 x.re y.im) |
(*.f64 y.im x.re) |
(*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) y.im) |
#s(literal 2 binary64) |
#s(literal 0 binary64) |
#s(literal 1 binary64) |
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) |
(*.f64 y.re #s(literal 2 binary64)) |
y.re |
(*.f64 y.re y.re) |
(*.f64 y.re #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.re) |
(fabs.f64 y.re) |
y.im |
(*.f64 y.im y.im) |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(fabs.f64 y.im) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) #s(approx (+ (/ x.re y.im) (/ (* x.im y.re) y.im)) (*.f64 y.re (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im))))) |
#s(approx (+ (/ x.re y.im) (/ (* x.im y.re) y.im)) (*.f64 y.re (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im)))) |
(*.f64 y.re (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im))) |
(*.f64 (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im)) y.re) |
(*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) (/.f64 y.re (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im)))) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) y.re) (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.im (/.f64 (*.f64 x.im x.im) y.im)))) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) y.re) (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.im (/.f64 (*.f64 x.im x.im) y.im))) (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.im (/.f64 (*.f64 x.im x.im) y.im)))) |
(*.f64 (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im y.im)) (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.re)) x.re (/.f64 (*.f64 x.im x.im) y.im)) (fma.f64 (*.f64 y.re x.im) y.im (*.f64 x.re y.im))) (*.f64 y.im y.re)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.re) (/.f64 x.re y.im)) |
(*.f64 (/.f64 x.re y.re) (/.f64 #s(literal -1 binary64) y.im)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.im) (/.f64 x.re y.re)) |
(*.f64 (/.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) y.re) #s(literal -1 binary64)) (/.f64 x.re y.im)) |
(*.f64 y.im y.re) |
(*.f64 y.re y.im) |
(*.f64 (*.f64 y.im y.re) (*.f64 y.im y.re)) |
(*.f64 (*.f64 y.im y.re) y.im) |
(*.f64 (*.f64 y.im y.re) y.re) |
(*.f64 (/.f64 x.im y.im) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.im y.im)) |
(/.f64 x.im y.im) |
(/.f64 (*.f64 #s(literal -1 binary64) x.im) y.im) |
(/.f64 (/.f64 x.im y.im) y.im) |
y.im |
(*.f64 y.im y.im) |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(fabs.f64 y.im) |
#s(literal 2 binary64) |
#s(literal 0 binary64) |
#s(literal 1 binary64) |
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) |
(*.f64 y.re #s(literal 2 binary64)) |
Compiled 10 850 to 1 525 computations (85.9% saved)
33 alts after pruning (28 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 275 | 14 | 289 |
| Fresh | 2 | 14 | 16 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 2 | 2 |
| Total | 279 | 33 | 312 |
| Status | Accuracy | Program |
|---|---|---|
| 40.6% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 (neg.f64 x.re) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 44.0% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 7.4% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) | |
| 5.1% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) | |
| 4.1% | (/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) | |
| ✓ | 49.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| 51.7% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) | |
| ✓ | 56.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| ▶ | 55.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
| ▶ | 12.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
| ▶ | 22.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| 49.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) y.im)) | |
| ▶ | 40.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
| ▶ | 48.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
| 54.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) y.re)) | |
| ✓ | 45.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| 20.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) y.im)))) | |
| 45.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)))) | |
| 46.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) | |
| 44.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) | |
| 42.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 46.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 32.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) | |
| 22.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re #s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) | |
| 14.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) | |
| 27.7% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) | |
| ✓ | 11.8% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| 40.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) | |
| ✓ | 38.2% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
| 8.0% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) | |
| 8.1% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) | |
| 7.8% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) | |
| 36.5% | #s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
Compiled 1 980 to 1 209 computations (38.9% saved)
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re) |
(+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) |
x.im |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 x.re y.im) |
x.re |
y.im |
(/.f64 #s(literal -1 binary64) y.re) |
#s(literal -1 binary64) |
y.re |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
(/.f64 (neg.f64 x.im) y.re) |
(neg.f64 x.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) |
(*.f64 #s(literal -1 binary64) x.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) |
(/.f64 (*.f64 x.im y.re) y.im) |
(*.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
(/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
(*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im))) |
(fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)) |
(/.f64 x.re y.re) |
(/.f64 x.im y.im) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (/.f64 x.im y.re)) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im y.re))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) x.im) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) |
#s(approx (* (* x.re y.im) (/ -1 y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (* x.re y.im) (*.f64 x.re y.im)) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im))) |
#s(approx (* -1 x.re) (*.f64 #s(literal -1 binary64) x.re)) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (/.f64 x.im y.im)) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im))) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 x.re y.re))))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im y.re) (/.f64 x.im x.re)))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im)))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.re (-.f64 (/.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) #s(literal 1 binary64)))) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 x.re (-.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im x.re) (/.f64 y.im y.re))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))))) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re y.im)) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (/ (neg x.im) y.re) (*.f64 #s(literal -1 binary64) (/.f64 x.im y.re))) |
#s(approx (neg x.im) (*.f64 #s(literal -1 binary64) x.im)) |
#s(approx (* x.im y.re) (*.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 x.im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.re)) (/.f64 #s(literal 1 binary64) y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 x.im y.im)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.re y.im) (/.f64 x.re x.im))))) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 x.re (*.f64 x.im y.re)) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 4 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) y.re)) |
#s(approx (/ -1 y.re) (/.f64 #s(literal -1 binary64) y.re)) |
#s(approx y.re y.re) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (/.f64 (*.f64 x.re y.im) y.re)) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re))) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.re))) y.re))) y.re))) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (*.f64 y.im y.re)))))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 y.im (-.f64 (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 4 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))))) (/.f64 x.im y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) y.im)) |
#s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.re) y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))))) y.im)) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (*.f64 y.im y.re))))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im y.re (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) y.im)) y.im))) y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) y.im) (*.f64 x.im y.re)) y.im))) y.im))) |
#s(approx (/ (+ x.im (* (* x.re y.im) (/ -1 y.re))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* (* x.re y.im) (/ -1 y.re))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.im) (/.f64 x.re y.re))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 4.0ms | y.re | -inf |
| 4.0ms | x.re | inf |
| 3.0ms | x.im | -inf |
| 3.0ms | x.im | inf |
| 3.0ms | x.re | -inf |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
(/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re) |
(+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) |
x.im |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 x.re y.im) |
x.re |
y.im |
(/.f64 #s(literal -1 binary64) y.re) |
#s(literal -1 binary64) |
y.re |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
(/.f64 (neg.f64 x.im) y.re) |
(neg.f64 x.im) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) |
(*.f64 #s(literal -1 binary64) x.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im) |
#s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) |
(/.f64 (*.f64 x.im y.re) y.im) |
(*.f64 x.im y.re) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
(/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re) |
#s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) |
(*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im))) |
(fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)) |
(/.f64 x.re y.re) |
(/.f64 x.im y.im) |
| Outputs |
|---|
#s(approx (/ (+ (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) y.re)) |
(*.f64 (/.f64 (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (fma.f64 (/.f64 x.re y.re) y.im x.im)) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) y.re)) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im))) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) y.re)) |
(*.f64 (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) y.re))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (/.f64 (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) y.re))) |
(+.f64 (/.f64 (*.f64 x.re y.im) (*.f64 y.re y.re)) (/.f64 x.im y.re)) |
(*.f64 (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 (fma.f64 (/.f64 x.re y.re) y.im x.im) (fma.f64 (/.f64 x.re y.re) y.im x.im))) |
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 x.re x.re) y.im) (/.f64 y.im (*.f64 y.re y.re)) (*.f64 x.im x.im)) (fma.f64 (*.f64 (*.f64 x.re x.re) y.im) (/.f64 y.im (*.f64 y.re y.re)) (*.f64 x.im x.im))) (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re))) |
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 x.re x.re) y.im) (/.f64 y.im (*.f64 y.re y.re)) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.im x.im) x.im (pow.f64 (/.f64 (*.f64 x.re y.im) y.re) #s(literal 3 binary64)))) (-.f64 (*.f64 x.im x.im) (*.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im)))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)) (/.f64 (-.f64 x.im (/.f64 (*.f64 x.re y.im) y.re)) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im) (*.f64 x.im x.im)))) |
(*.f64 (/.f64 (fma.f64 (*.f64 x.im x.im) x.im (pow.f64 (/.f64 (*.f64 x.re y.im) y.re) #s(literal 3 binary64))) (-.f64 (*.f64 (*.f64 x.im x.im) (*.f64 x.im x.im)) (pow.f64 (*.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im)) #s(literal 2 binary64)))) (-.f64 (*.f64 x.im x.im) (*.f64 (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 (/.f64 x.re y.re) y.im x.im)))) |
x.im |
(neg.f64 (neg.f64 x.im)) |
(*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (neg.f64 y.im) (/.f64 x.re y.re)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.re) (*.f64 x.re y.im)) |
(*.f64 (/.f64 x.re y.re) (neg.f64 y.im)) |
(*.f64 x.re y.im) |
(*.f64 y.im x.re) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (*.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) (neg.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 x.re)) |
x.re |
(*.f64 (neg.f64 #s(literal -1 binary64)) x.re) |
(*.f64 (neg.f64 x.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (neg.f64 x.re)) |
(*.f64 x.re (neg.f64 #s(literal -1 binary64))) |
y.im |
(*.f64 (neg.f64 #s(literal -1 binary64)) y.im) |
(*.f64 y.im (neg.f64 #s(literal -1 binary64))) |
(neg.f64 (neg.f64 y.im)) |
(/.f64 #s(literal -1 binary64) y.re) |
(/.f64 (neg.f64 #s(literal -1 binary64)) (neg.f64 y.re)) |
(neg.f64 (neg.f64 (/.f64 #s(literal -1 binary64) y.re))) |
#s(literal -1 binary64) |
(neg.f64 (neg.f64 #s(literal -1 binary64))) |
y.re |
(neg.f64 (neg.f64 y.re)) |
#s(approx (/ (+ (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 x.im y.re))) |
(/.f64 (neg.f64 x.im) y.re) |
(/.f64 x.im (neg.f64 y.re)) |
(neg.f64 (/.f64 x.im y.re)) |
(neg.f64 x.im) |
#s(approx (/ (+ (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
(/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im) |
#s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) |
(*.f64 #s(literal -1 binary64) x.re) |
(*.f64 x.re #s(literal -1 binary64)) |
(neg.f64 x.re) |
#s(approx (/ (+ (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (/.f64 (*.f64 x.im y.re) y.im)) y.im) |
#s(approx (- (/ (* x.im y.re) y.im) x.re) (/.f64 (*.f64 x.im y.re) y.im)) |
(*.f64 (/.f64 x.im y.im) y.re) |
(*.f64 (/.f64 y.re y.im) x.im) |
(*.f64 x.im (/.f64 y.re y.im)) |
(*.f64 y.re (/.f64 x.im y.im)) |
(*.f64 (neg.f64 x.im) (/.f64 y.re (neg.f64 y.im))) |
(*.f64 x.im y.re) |
(*.f64 y.re x.im) |
(*.f64 (neg.f64 x.im) (neg.f64 y.re)) |
(*.f64 (neg.f64 y.re) (neg.f64 x.im)) |
(neg.f64 (neg.f64 (*.f64 x.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) y.re)) |
(/.f64 #s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) y.re) |
#s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) |
(*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re))) |
(*.f64 (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)) y.im) |
(*.f64 (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))) (/.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) |
(*.f64 y.im (-.f64 (neg.f64 (/.f64 x.re y.re)) (neg.f64 (/.f64 x.im y.im)))) |
(*.f64 (fma.f64 x.im (/.f64 (*.f64 x.im x.im) (*.f64 (*.f64 y.im y.im) y.im)) (/.f64 (*.f64 (*.f64 x.re x.re) x.re) (*.f64 (*.f64 y.re y.re) y.re))) (/.f64 y.im (fma.f64 (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)) (/.f64 x.im y.im) (/.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))))) |
(*.f64 (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)) (/.f64 (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) |
(*.f64 (/.f64 (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))) (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)))) (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re))) |
(*.f64 (/.f64 (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))) (fma.f64 y.im x.re (*.f64 x.im y.re))) (*.f64 y.im y.re)) |
(*.f64 (/.f64 (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))) (fma.f64 y.im x.re (*.f64 x.im y.re))) (neg.f64 (*.f64 y.im y.re))) |
(*.f64 (/.f64 (fma.f64 x.re (/.f64 x.re (*.f64 y.re y.re)) (/.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))) (fma.f64 x.im (/.f64 (*.f64 x.im x.im) (*.f64 (*.f64 y.im y.im) y.im)) (/.f64 (*.f64 (*.f64 x.re x.re) x.re) (*.f64 (*.f64 y.re y.re) y.re)))) (fma.f64 (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)) (/.f64 x.im y.im) (/.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (/.f64 x.re y.re)) |
(*.f64 (neg.f64 x.re) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (/.f64 x.re y.re) (neg.f64 #s(literal -1 binary64))) |
(*.f64 (neg.f64 (/.f64 x.re y.re)) #s(literal -1 binary64)) |
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) y.re)) x.re) |
(/.f64 x.im y.im) |
(/.f64 (neg.f64 x.im) (neg.f64 y.im)) |
(neg.f64 (neg.f64 (/.f64 x.im y.im))) |
Compiled 6 897 to 976 computations (85.8% saved)
34 alts after pruning (26 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 176 | 6 | 182 |
| Fresh | 3 | 20 | 23 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 5 | 5 |
| Total | 181 | 34 | 215 |
| Status | Accuracy | Program |
|---|---|---|
| 40.6% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 (neg.f64 x.re) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 44.0% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| 7.4% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) | |
| 5.1% | (/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) | |
| 4.1% | (/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) | |
| ✓ | 49.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| ✓ | 56.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| ✓ | 55.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
| ✓ | 12.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
| 40.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) | |
| 48.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) y.re)) | |
| ✓ | 22.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
| 24.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) | |
| 24.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) | |
| 46.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.re)) (/.f64 #s(literal 1 binary64) y.im)))))) y.re)) | |
| 24.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) | |
| 54.1% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) y.re)) | |
| ✓ | 45.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| 20.6% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) y.im)))) | |
| 45.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)))) | |
| 46.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) | |
| 44.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) | |
| 42.4% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 46.0% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) | |
| 32.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) | |
| 22.9% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re #s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) | |
| 14.3% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) | |
| ✓ | 11.8% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| 40.2% | #s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) | |
| ✓ | 38.2% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
| 8.0% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) | |
| 8.1% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) | |
| 7.8% | #s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) | |
| 36.5% | #s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
Compiled 1 117 to 681 computations (39% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) y.re)) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 (neg.f64 x.re) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)))) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re))) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
| Inputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.re) y.im) x.re) (neg.f64 x.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (fabs.f64 y.im))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) #s(approx (+ (* (/ x.re y.re) y.im) (/ x.im y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (*.f64 (/.f64 #s(literal -1 binary64) y.im) x.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (* (- y.re y.im) (+ y.im y.re))) (/.f64 x.re (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 #s(literal -1 binary64) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re y.im) (* x.im y.re)) (*.f64 x.re y.im)) #s(literal 2 binary64)) |
#s(approx (+ (* x.re y.im) (* x.im y.re)) (/.f64 (fma.f64 y.im x.re x.im) y.re)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.im) (+.f64 y.im y.re))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) #s(literal 2 binary64)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 (/.f64 y.re y.im) x.im)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.im y.re) (* y.im x.re)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.im)))))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (*.f64 y.re #s(literal 2 binary64))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 (/.f64 x.im y.im) y.re)) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 x.im y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (*.f64 x.re y.im) (/.f64 #s(literal -1 binary64) y.re))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- x.im (/ (* x.re y.im) y.re)) (*.f64 y.im (-.f64 (/.f64 x.im y.im) (/.f64 x.re y.re)))) y.re)) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 (neg.f64 x.re) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 #s(approx (- (* x.im y.re) (* x.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 x.im y.im)))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* -1 x.re) (/ (* x.im y.re) y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)))) y.im)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (/.f64 y.re y.im)) y.im)))) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (-.f64 y.re y.im) (+.f64 y.im y.re))) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* -1 (/ (* x.re y.im) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) #s(literal 1 binary64))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re #s(approx (+ (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.im 2))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (* (/ y.im y.re) (neg x.re))) (*.f64 y.im #s(approx (+ (* -1 (/ x.re y.re)) (/ x.im y.im)) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.re)) (/.f64 #s(literal 1 binary64) y.im)))))) y.re)) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* -1 x.re) (/ (* x.im y.re) y.im)) y.im) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 #s(literal -1 binary64) (/.f64 x.re y.im) (*.f64 y.re (+.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 3 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im y.re))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) y.im) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 (/.f64 x.im y.im) y.re x.re) (*.f64 x.re x.re)) y.im)))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im #s(approx (+ (* -1 (/ (* x.re y.im) (* x.im (+ (pow y.im 2) (pow y.re 2))))) (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (*.f64 x.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) y.re))) y.re)) #s(literal 1 binary64)) y.re))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.re) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
| Outputs |
|---|
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.re) y.im)) y.im)) |
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (- (* x.im y.re) (* x.re y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 y.im y.re) (neg.f64 x.re))) y.re)) |
25 calls:
| 38.0ms | y.re |
| 15.0ms | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 13.0ms | y.im |
| 13.0ms | x.im |
| 13.0ms | x.re |
| Accuracy | Segments | Branch |
|---|---|---|
| 11.8% | 1 | x.re |
| 11.8% | 1 | x.im |
| 11.8% | 1 | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 11.8% | 1 | y.re |
| 11.8% | 1 | y.im |
| 45.0% | 1 | x.im |
| 45.0% | 1 | x.re |
| 45.0% | 1 | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 49.6% | 3 | y.im |
| 45.0% | 1 | y.re |
| 53.9% | 3 | x.re |
| 52.1% | 3 | x.im |
| 65.6% | 3 | y.im |
| 67.0% | 3 | y.re |
| 56.4% | 1 | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 73.9% | 3 | y.im |
| 74.9% | 3 | y.re |
| 81.2% | 3 | y.re |
| 81.0% | 3 | y.im |
| 82.4% | 3 | y.re |
| 78.0% | 3 | (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 68.8% | 2 | x.re |
| 70.1% | 2 | x.im |
| 87.5% | 5 | y.re |
| 87.3% | 5 | y.im |
Compiled 1 727 to 418 computations (75.8% saved)
| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 6.110460308082385e+56 | 8.312236968888669e+67 |
| 22.0ms | 1.690213711440189e-140 | 3.2045618521843277e-139 |
| 6.0ms | -3.2229761446344004e-77 | -2.335434396362077e-77 |
| 8.0ms | -1.1446424208992266e+122 | -1.44382865987144e+121 |
| 22.0ms | 432× | 0 | valid |
Compiled 1 125 to 828 computations (26.4% saved)
ival-mult!: 8.0ms (69% of total)ival-div!: 2.0ms (17.2% of total)ival-sub!: 1.0ms (8.6% of total)ival-add!: 1.0ms (8.6% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 3.0ms | -2.999233870410874e-43 | -2.7341765451261627e-43 |
| 17.0ms | 160× | 0 | valid |
Compiled 538 to 378 computations (29.7% saved)
ival-sub!: 9.0ms (70.4% of total)ival-mult!: 3.0ms (23.5% of total)ival-div!: 1.0ms (7.8% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 0.0ms | -2.999233870410874e-43 | -2.7341765451261627e-43 |
Compiled 538 to 378 computations (29.7% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 0.0ms | -2.999233870410874e-43 | -2.7341765451261627e-43 |
Compiled 558 to 378 computations (32.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 7.0ms | -9.294110079208634e-27 | -2.9284490610414075e-27 |
| 4.0ms | 80× | 0 | valid |
Compiled 629 to 434 computations (31% saved)
ival-mult!: 2.0ms (92.2% of total)ival-sub!: 0.0ms (0% of total)adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)ival-div!: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 5.566504969615052e+185 | 2.5939420826509175e+186 |
| 24.0ms | -5.932481151713854e+206 | -9.53877036296394e+202 |
| 24.0ms | 224× | 0 | valid |
Compiled 550 to 410 computations (25.5% saved)
ival-mult!: 4.0ms (65.7% of total)ival-add!: 1.0ms (16.4% of total)ival-div!: 1.0ms (16.4% of total)ival-sub!: 0.0ms (0% of total)adjust: 0.0ms (0% of total)| 1× | fuel |
Compiled 542 to 79 computations (85.4% saved)
Compiled 557 to 90 computations (83.8% saved)
Loading profile data...