
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)
| 595.0ms | 8 256× | 0 | valid |
ival-mult!: 229.0ms (70.1% of total)ival-div!: 55.0ms (16.8% of total)ival-add!: 40.0ms (12.2% of total)adjust: 2.0ms (0.6% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 233 |
| 1 | 435 | 225 |
| 2 | 3380 | 225 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.7% | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im 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.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
(*.f64 x.re y.re) |
x.re |
y.re |
(*.f64 x.im y.im) |
x.im |
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.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
#s(approx (* x.re y.re) (*.f64 x.re y.re)) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.re (+.f64 y.re (/.f64 (*.f64 x.im y.im) x.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) x.re)))))) |
#s(approx x.im x.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (+.f64 (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (*.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.re) (* x.im y.im)) (*.f64 x.im (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.im (+.f64 (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.re) (*.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.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) x.im)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#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.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.re (+.f64 x.re (/.f64 (*.f64 x.im 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.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))) y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)))) |
#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.re y.re) (* x.im 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 (*.f64 x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) y.im)))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | y.im | inf |
| 2.0ms | x.im | inf |
| 1.0ms | x.re | inf |
| 1.0ms | y.re | -inf |
| 1.0ms | x.re | 0 |
| Inputs |
|---|
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
(*.f64 x.re y.re) |
x.re |
y.re |
(*.f64 x.im y.im) |
x.im |
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.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) |
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.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.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))) (fma.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))) |
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.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.re x.re (*.f64 x.im y.im)) (*.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.re x.re (*.f64 x.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im)))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im)))) (fma.f64 y.re x.re (*.f64 x.im y.im))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im))) (fma.f64 (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)) (*.f64 x.re y.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.im) (*.f64 (*.f64 y.im y.im) y.im)))) (fma.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) |
(*.f64 (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 y.re x.re (*.f64 x.im y.im))) (fma.f64 (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)) (*.f64 x.re y.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.im) (*.f64 (*.f64 y.im y.im) y.im)))) (neg.f64 (fma.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))))) |
(*.f64 (fma.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (fma.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))))) |
(*.f64 x.re y.re) |
(*.f64 y.re x.re) |
x.re |
y.re |
(neg.f64 (neg.f64 y.re)) |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
(neg.f64 (neg.f64 (*.f64 x.im y.im))) |
x.im |
(neg.f64 (neg.f64 x.im)) |
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 183 to 369 computations (83.1% saved)
11 alts after pruning (11 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 65 | 11 | 76 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 66 | 11 | 77 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| ▶ | 39.8% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 39.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) | |
| 40.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) | |
| ▶ | 43.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
| 53.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) | |
| ▶ | 50.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
| 44.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) | |
| ▶ | 44.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 56.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) | |
| 48.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
Compiled 644 to 410 computations (36.3% saved)
| Inputs |
|---|
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(fma.f64 x.im y.im (*.f64 x.re y.re)) |
x.im |
y.im |
(*.f64 x.re y.re) |
x.re |
y.re |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
(/.f64 x.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
(/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im) |
(+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) |
(/.f64 (*.f64 x.re y.re) y.im) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
(*.f64 x.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) |
(*.f64 x.re y.im) |
(pow.f64 y.re #s(literal 3 binary64)) |
#s(literal 3 binary64) |
(/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.re #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(/.f64 x.re y.re) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
#s(approx (* x.re y.re) (*.f64 x.re y.re)) |
#s(approx x.re x.re) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 x.im y.im)) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) x.im) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im))) |
#s(approx (/ (* x.re y.re) y.im) (/.f64 (*.f64 x.re y.re) y.im)) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 x.re (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)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (* x.re y.im) (pow y.re 3)) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (* x.re y.im) (*.f64 x.re y.im)) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.re (+.f64 y.re (/.f64 (*.f64 x.im y.im) x.re)))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) x.re)))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.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) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im x.re) (*.f64 #s(literal -1 binary64) (/.f64 y.re y.im)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (/.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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 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 (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (+.f64 (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (*.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.re) (* x.im y.im)) (*.f64 x.im (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.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 3 binary64)))) (+.f64 (/.f64 x.re (*.f64 x.im y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.im (+.f64 (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.re) (*.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.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) x.im)))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) #s(literal 1 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re)) x.im)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#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 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (*.f64 y.im y.re))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 y.re (fma.f64 x.im y.im (*.f64 x.re y.re)))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (pow y.re 3) (pow.f64 y.re #s(literal 3 binary64))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.re (+.f64 x.re (/.f64 (*.f64 x.im 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 (/ (* x.re y.re) y.im)) y.im) (*.f64 y.re (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ x.im (/ (* x.re y.re) y.im)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))) y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)))) |
#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 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (*.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) y.im)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)))) y.im))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 9.0ms | y.im | -inf |
| 8.0ms | x.im | inf |
| 6.0ms | x.im | 0 |
| 4.0ms | x.re | -inf |
| 3.0ms | y.re | -inf |
| Inputs |
|---|
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(fma.f64 x.im y.im (*.f64 x.re y.re)) |
x.im |
y.im |
(*.f64 x.re y.re) |
x.re |
y.re |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
(/.f64 x.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
(/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im) |
(+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) |
(/.f64 (*.f64 x.re y.re) y.im) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
(*.f64 x.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(literal -1 binary64) |
(/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) |
(*.f64 x.re y.im) |
(pow.f64 y.re #s(literal 3 binary64)) |
#s(literal 3 binary64) |
(/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.re #s(literal 2 binary64)) |
#s(literal 2 binary64) |
(/.f64 x.re y.re) |
| Outputs |
|---|
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (-.f64 y.im y.re)) |
#s(approx (+ (* y.re x.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(*.f64 (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (neg.f64 (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 x.im y.im) (*.f64 (*.f64 x.re x.re) y.re)))) |
x.im |
(neg.f64 (neg.f64 x.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) |
(*.f64 x.re y.re) |
(*.f64 y.re x.re) |
(*.f64 (neg.f64 x.re) y.re) |
(*.f64 (*.f64 x.re y.re) y.re) |
(*.f64 y.re (neg.f64 x.re)) |
x.re |
(neg.f64 (neg.f64 x.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.im y.re) (-.f64 y.im y.re)) |
(*.f64 (fabs.f64 (-.f64 y.im y.re)) (fabs.f64 (-.f64 y.im y.re))) |
(*.f64 (fma.f64 (-.f64 y.im y.re) y.im y.re) (-.f64 y.im y.re)) |
(*.f64 (-.f64 y.im y.re) (fma.f64 (-.f64 y.im y.re) y.im y.re)) |
(+.f64 y.re y.im) |
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.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 (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 x.im y.im)) |
(/.f64 x.im y.im) |
(/.f64 (neg.f64 x.im) y.im) |
(neg.f64 (/.f64 x.im y.im)) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) y.im))) |
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) (/.f64 x.im y.im)) |
(*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.im) y.re x.im)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.re x.re) y.re) y.im) (*.f64 x.im x.im)) (-.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.re x.re) y.re) y.im) (*.f64 x.im x.im)) (neg.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)))) |
(*.f64 (neg.f64 x.re) (/.f64 y.re y.im)) |
(*.f64 (/.f64 x.re y.im) (/.f64 y.re y.im)) |
(*.f64 (/.f64 x.re y.im) y.re) |
(*.f64 (/.f64 y.re y.im) (/.f64 x.re y.im)) |
(*.f64 (/.f64 y.re y.im) (neg.f64 x.re)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
(*.f64 (*.f64 x.im y.im) y.im) |
(*.f64 (neg.f64 x.im) y.im) |
(*.f64 y.im (*.f64 x.im y.im)) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
(*.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
(*.f64 (fma.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (/.f64 x.re y.re) (fma.f64 (/.f64 y.im y.re) x.re (/.f64 (*.f64 x.im y.im) y.re))) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (/.f64 x.re y.re) (fma.f64 (/.f64 y.im y.re) x.re (/.f64 (*.f64 x.im y.im) y.re)))) |
(*.f64 (/.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (pow.f64 (*.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (/.f64 x.re y.re)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (/.f64 x.re y.re)) (fma.f64 (fma.f64 y.im (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (/.f64 x.re y.re)) (/.f64 x.re y.re) (fma.f64 (/.f64 y.im y.re) x.re (/.f64 (*.f64 x.im y.im) y.re))) (fma.f64 (/.f64 y.im y.re) x.re (/.f64 (*.f64 x.im y.im) y.re)))) |
(*.f64 (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 x.re y.re) y.im (*.f64 y.re x.im)) x.re) y.re) y.im (/.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (pow.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64))) (pow.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re)) (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) x.re (/.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (/.f64 (*.f64 (fma.f64 (*.f64 x.re y.re) y.im (*.f64 y.re x.im)) x.re) y.re) y.im (/.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (fma.f64 (/.f64 (*.f64 x.re y.im) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re))) |
#s(literal -1 binary64) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 x.re y.im) (/.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 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) #s(literal -1 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))) |
#s(literal 3 binary64) |
(*.f64 (/.f64 x.im y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
(/.f64 (*.f64 #s(literal -1 binary64) x.im) y.re) |
(/.f64 (/.f64 x.im y.re) 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))) |
#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))) |
(/.f64 x.re y.re) |
(/.f64 (neg.f64 x.re) y.re) |
(/.f64 (/.f64 x.re y.re) y.re) |
(neg.f64 (/.f64 x.re y.re)) |
Compiled 7 984 to 1 039 computations (87% saved)
27 alts after pruning (24 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 206 | 20 | 226 |
| Fresh | 2 | 4 | 6 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 0 | 0 |
| Total | 210 | 27 | 237 |
| Status | Accuracy | Program |
|---|---|---|
| 8.7% | (/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) | |
| ✓ | 62.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| ▶ | 62.2% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
| 8.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) | |
| 39.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) | |
| 37.6% | #s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) | |
| 39.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) | |
| 45.4% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) | |
| 40.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (/.f64 x.re y.re) y.im) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) | |
| ▶ | 40.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
| ▶ | 50.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
| 53.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) | |
| ✓ | 50.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
| ▶ | 52.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
| 15.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) y.im)) | |
| 9.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) | |
| 44.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) | |
| 48.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) | |
| 48.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) | |
| ▶ | 44.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| 12.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) | |
| ✓ | 44.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 38.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) y.im)))) | |
| 48.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) | |
| 39.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))))))) | |
| 44.4% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))))) | |
| 11.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))))))) |
Compiled 1 552 to 965 computations (37.8% saved)
| Inputs |
|---|
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(fma.f64 x.im y.im (*.f64 x.re y.re)) |
x.im |
y.im |
(*.f64 x.re y.re) |
x.re |
y.re |
(*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re)) |
(-.f64 y.im y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
(/.f64 x.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
(/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im) |
(+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) |
(*.f64 (/.f64 x.re y.im) y.re) |
(/.f64 x.re y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
(/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.re #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(literal -1 binary64) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(neg.f64 x.re) |
(/.f64 y.im y.re) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (*.f64 x.im y.im) (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (+.f64 (/.f64 (*.f64 x.im y.im) (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
#s(approx (* x.re y.re) (*.f64 x.re y.re)) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (/.f64 x.im y.im)) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) x.im) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im))) |
#s(approx (* (/ x.re y.im) y.re) (/.f64 (*.f64 x.re y.re) y.im)) |
#s(approx (/ x.re y.im) (/.f64 x.re y.im)) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 x.re (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)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 x.re (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (+.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (* (neg x.re) (/ y.im y.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 y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (*.f64 x.re y.re) (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 x.re (+.f64 (/.f64 y.re (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.re (+.f64 y.re (/.f64 (*.f64 x.im y.im) x.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.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) y.re)) y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (+.f64 (/.f64 #s(literal 1 binary64) y.re) (+.f64 (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (*.f64 x.re y.im) y.re)) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 y.im y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.re (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) x.re)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.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) y.re)) 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) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ x.im (* (/ 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 #s(literal -1 binary64) (/.f64 y.re y.im)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (/.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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 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 (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (+.f64 (/.f64 x.re y.re) (+.f64 (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 x.im (+.f64 (/.f64 y.im (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (+.f64 (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (*.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) y.re)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.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 3 binary64)))) (+.f64 (/.f64 x.re (*.f64 x.im y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.im (+.f64 (/.f64 x.re (*.f64 x.im y.re)) (+.f64 (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im y.re)))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 (-.f64 y.im y.re) #s(literal 2 binary64))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) x.im)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.im (+.f64 (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.re) (*.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) y.re)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) #s(literal 1 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re)) x.im)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re)) x.im)))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.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) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.re (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.im) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (*.f64 y.re (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 4 binary64)))) (fma.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.im) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) y.im) (/.f64 x.re (pow.f64 y.im #s(literal 4 binary64)))))) (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) y.im) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64))))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (*.f64 #s(literal -2 binary64) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 x.im y.im))) |
#s(approx y.re y.re) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (pow.f64 y.im #s(literal 2 binary64))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (fma.f64 #s(literal -2 binary64) (*.f64 y.im y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (fma.f64 y.re (+.f64 y.re (*.f64 #s(literal -2 binary64) y.im)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (- y.im y.re) y.im) |
#s(approx (- y.im y.re) (+.f64 y.im (*.f64 #s(literal -1 binary64) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (*.f64 y.im y.re))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 y.re (fma.f64 x.im y.im (*.f64 x.re y.re)))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (pow y.re 2) (pow.f64 y.re #s(literal 2 binary64))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 y.re (+.f64 x.re (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (+.f64 x.im (*.f64 x.re (*.f64 y.im y.re))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ y.im y.re) (/.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) (*.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im)))) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (*.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.re y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 y.im (fma.f64 #s(literal -2 binary64) (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im)))) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.re y.im) y.re) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im)))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))))) y.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.re (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 y.im y.re))))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 y.im y.re) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (- y.im y.re) (*.f64 #s(literal -1 binary64) y.re)) |
#s(approx (- y.im y.re) (*.f64 y.re (-.f64 (/.f64 y.im y.re) #s(literal 1 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (*.f64 y.re (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (+.f64 x.re (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) y.re)) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (+.f64 x.re (fma.f64 x.re (pow.f64 y.im #s(literal 2 binary64)) (/.f64 (*.f64 x.im y.im) y.re))) y.re)) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (fma.f64 x.re y.im (/.f64 x.im y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- 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 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- 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 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (fma.f64 #s(literal 2 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im)))) y.re) (*.f64 x.im y.im))) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- 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 (-.f64 (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))))))) y.re) (/.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im)))) y.re)) (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))))))) y.re) (*.f64 x.im y.im)) (*.f64 #s(literal -2 binary64) (*.f64 x.re y.im))) y.re))) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)))))) |
#s(approx (* (- y.im y.re) (- 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 (pow.f64 y.im #s(literal 2 binary64)) y.re) (*.f64 #s(literal 2 binary64) y.im)) y.re))))) |
#s(approx (- y.im y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im)))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) y.re))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)))) y.re))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 #s(literal -1 binary64) (/.f64 x.im y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.im (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.re) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (fma.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (*.f64 y.im (-.f64 (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 4 binary64)))) (fma.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.re) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) y.re) (/.f64 x.im (pow.f64 y.re #s(literal 4 binary64)))))) (fma.f64 #s(literal -2 binary64) (/.f64 (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) y.re) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -2 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 x.re y.re))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (fma.f64 #s(literal -2 binary64) (*.f64 y.im y.re) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (fma.f64 y.im (+.f64 y.im (*.f64 #s(literal -2 binary64) y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (- y.im y.re) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ x.im (* (/ x.re y.im) y.re)) y.im) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ x.im (* (/ x.re y.im) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) y.im)) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 y.im (+.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) (*.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re)))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (*.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (/.f64 (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (*.f64 y.re (fma.f64 #s(literal -2 binary64) (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re)))) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im y.re) y.im) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re)))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))))) y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 y.re y.im))))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 y.re y.im) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (- y.im y.re) (*.f64 y.im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y.re y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))) y.im)) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (*.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re)) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (+.f64 (/.f64 x.re y.re) (/.f64 x.re (*.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)))))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 y.im (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) y.im) (fma.f64 #s(literal 2 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re)))) y.im) (*.f64 x.re y.re))) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (* (- y.im y.re) (- y.im y.re))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 y.re (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))))))) y.im) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re)))) y.im)) (fma.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))))))) y.im) (*.f64 x.re y.re)) (*.f64 #s(literal -2 binary64) (*.f64 x.im y.re))) y.im))) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) y.im)))))) |
#s(approx (* (- y.im y.re) (- y.im y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.re #s(literal 2 binary64)) y.im) (*.f64 #s(literal 2 binary64) y.re)) y.im))))) |
#s(approx (- y.im y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (/.f64 y.re y.im) #s(literal 1 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)))) y.im))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)))) y.im) (/.f64 x.re y.re)))) |
#s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.re)))))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 13.0ms | y.re | inf |
| 12.0ms | y.im | -inf |
| 7.0ms | x.re | -inf |
| 4.0ms | y.re | -inf |
| 4.0ms | x.re | inf |
| Inputs |
|---|
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(fma.f64 x.im y.im (*.f64 x.re y.re)) |
x.im |
y.im |
(*.f64 x.re y.re) |
x.re |
y.re |
(*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re)) |
(-.f64 y.im y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
(/.f64 x.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
(/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im) |
(+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) |
(*.f64 (/.f64 x.re y.im) y.re) |
(/.f64 x.re y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
(/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) |
(pow.f64 y.re #s(literal 2 binary64)) |
#s(literal 2 binary64) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
(fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re)) |
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(literal -1 binary64) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(neg.f64 x.re) |
(/.f64 y.im y.re) |
| Outputs |
|---|
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (-.f64 y.im y.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(*.f64 (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.im x.im) (*.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.im x.im) (*.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) x.re (*.f64 (*.f64 x.im x.im) y.im)) (neg.f64 (fma.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.im x.im) (*.f64 (*.f64 x.re x.re) y.re)))) |
x.im |
(neg.f64 (neg.f64 x.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) |
(*.f64 x.re y.re) |
(*.f64 y.re x.re) |
(*.f64 (neg.f64 x.re) (*.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (neg.f64 x.re) y.re) |
(*.f64 (*.f64 x.re y.re) y.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)) |
(neg.f64 (neg.f64 x.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.im y.re) (-.f64 y.im y.re)) |
(*.f64 (fma.f64 (-.f64 y.im y.re) y.re y.im) (-.f64 y.im y.re)) |
(*.f64 (fabs.f64 (fma.f64 (-.f64 y.im y.re) y.re y.im)) (-.f64 y.im y.re)) |
(*.f64 (-.f64 y.im y.re) (fma.f64 (-.f64 y.im y.re) y.re y.im)) |
(*.f64 (exp.f64 (log.f64 (-.f64 y.im y.re))) (exp.f64 (log.f64 (-.f64 y.im y.re)))) |
(*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re)) |
(*.f64 (fma.f64 (-.f64 y.im y.re) y.re y.im) (-.f64 y.im y.re)) |
(*.f64 (fabs.f64 (fma.f64 (-.f64 y.im y.re) y.re y.im)) (-.f64 y.im y.re)) |
(*.f64 (-.f64 y.im y.re) (fma.f64 (-.f64 y.im y.re) y.re y.im)) |
(*.f64 (exp.f64 (log.f64 (-.f64 y.im y.re))) (exp.f64 (log.f64 (-.f64 y.im y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 x.re y.re)) |
(*.f64 (neg.f64 x.re) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.re y.re)) |
(/.f64 x.re y.re) |
(/.f64 (neg.f64 x.re) y.re) |
(/.f64 (/.f64 x.re y.re) y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) y.im))) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) y.im))) |
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) (/.f64 x.im y.im)) |
(*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 x.re y.im) y.re x.im)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.re x.re) y.re) y.im) (*.f64 x.im x.im)) (-.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)) |
(*.f64 (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im)) (fma.f64 (/.f64 (*.f64 x.re y.re) y.im) (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 x.im x.im))) |
(*.f64 (/.f64 x.re y.im) y.re) |
(*.f64 (neg.f64 x.re) (/.f64 y.re y.im)) |
(*.f64 (*.f64 x.re y.re) (/.f64 y.re y.im)) |
(*.f64 (/.f64 x.re y.im) (/.f64 y.re y.im)) |
(*.f64 (/.f64 y.re y.im) (/.f64 x.re y.im)) |
(*.f64 (neg.f64 x.re) (/.f64 #s(literal -1 binary64) y.im)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.re y.im)) |
(/.f64 x.re y.im) |
(/.f64 (neg.f64 x.re) y.im) |
(/.f64 (/.f64 x.re y.im) y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re)) |
#s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) |
(*.f64 (/.f64 x.im y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
(/.f64 (*.f64 #s(literal -1 binary64) x.im) y.re) |
(/.f64 (/.f64 x.im y.re) 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))) |
#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))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.im y.re) y.im (/.f64 (*.f64 x.re (fma.f64 y.im y.re y.re)) y.re))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (/.f64 x.im y.re) y.im (/.f64 (*.f64 x.re (fma.f64 y.im y.re y.re)) y.re))) |
(*.f64 (fma.f64 (/.f64 x.im y.re) y.im (/.f64 (*.f64 x.re (fma.f64 y.im y.re y.re)) y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.re x.re) y.re))) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.re x.re) y.re)))) |
(*.f64 (/.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (pow.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.re x.re) y.re)) #s(literal 3 binary64)))) (fma.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.re x.re) y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) y.im (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.re x.re) y.re))) (fma.f64 (/.f64 y.im y.re) x.re (/.f64 (*.f64 y.im x.im) y.re)))) |
(*.f64 (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (/.f64 (*.f64 y.im x.re) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (fma.f64 (/.f64 (*.f64 y.im x.re) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re))) |
(*.f64 (fma.f64 (/.f64 (*.f64 y.im x.re) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re)) (fma.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (*.f64 y.im x.re) (/.f64 (*.f64 x.im x.im) y.re))) |
(*.f64 (pow.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64))) (pow.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (+.f64 #s(literal 3 binary64) #s(literal 3 binary64)))) |
(*.f64 (fma.f64 (/.f64 x.re y.re) y.im (/.f64 x.im y.re)) (fma.f64 (/.f64 (*.f64 y.im x.re) y.re) x.re (/.f64 (*.f64 x.im x.im) y.re))) |
#s(literal -1 binary64) |
(*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 y.im x.re) (/.f64 y.im y.re)) |
(*.f64 (*.f64 y.im x.re) (/.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 x.re #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) x.re) |
(*.f64 (neg.f64 #s(literal -1 binary64)) (neg.f64 x.re)) |
(*.f64 (neg.f64 x.re) (neg.f64 #s(literal -1 binary64))) |
(neg.f64 x.re) |
(*.f64 (/.f64 y.im y.re) #s(literal -1 binary64)) |
(*.f64 (/.f64 y.im y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 y.im y.re) y.im) |
(*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)) |
(*.f64 y.im (/.f64 y.im y.re)) |
Compiled 12 686 to 1 567 computations (87.6% saved)
30 alts after pruning (24 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 307 | 8 | 315 |
| Fresh | 3 | 16 | 19 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 3 | 3 |
| Total | 312 | 30 | 342 |
| Status | Accuracy | Program |
|---|---|---|
| 8.7% | (/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) | |
| ✓ | 62.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| ✓ | 62.2% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
| 34.5% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 #s(approx (- y.im y.re) y.im) #s(approx (- y.im y.re) y.im))) | |
| ▶ | 8.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
| 39.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) | |
| 37.6% | #s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) | |
| 39.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) | |
| 36.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) | |
| ▶ | 52.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
| 34.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 x.re y.re))) | |
| 12.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) | |
| ▶ | 53.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
| ✓ | 50.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
| ✓ | 52.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
| 15.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) y.im)) | |
| 11.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) | |
| ▶ | 9.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
| 44.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) | |
| 48.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) | |
| 48.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) | |
| 12.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) | |
| ✓ | 44.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| 12.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) | |
| ✓ | 44.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 38.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) y.im)))) | |
| 48.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) | |
| 39.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))))))) | |
| ▶ | 44.4% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))))) |
| 13.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))))) |
Compiled 1 600 to 989 computations (38.2% saved)
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
(/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re) |
(+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) |
x.re |
(/.f64 (*.f64 x.im y.im) y.re) |
(*.f64 x.im y.im) |
x.im |
y.im |
y.re |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
(/.f64 (neg.f64 x.im) y.im) |
(neg.f64 x.im) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
(+.f64 y.re y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) |
(/.f64 (/.f64 x.im y.re) y.re) |
(/.f64 x.im y.re) |
(/.f64 x.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
(*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
(+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
(/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
(*.f64 x.re 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.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re))) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.im y.im) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 y.im y.re)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 x.re (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)) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 x.im y.im)) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im)) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (/ (* x.re y.re) (* x.im (pow y.im 2))) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
#s(approx (* x.re y.re) (*.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 x.re (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 x.re (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 y.im y.re)) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 y.im y.re)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.re (+.f64 y.re (/.f64 (*.f64 x.im y.im) x.re)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (*.f64 x.re (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.re y.im)) (/.f64 y.re (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) #s(literal 1 binary64))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 y.re (+.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 y.im y.re)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) y.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) x.re)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (/.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.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (pow.f64 y.re #s(literal 2 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 (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 y.im (pow.f64 y.re #s(literal 3 binary64))))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.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) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (*.f64 #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y.re (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (*.f64 x.re y.im)))))) |
#s(approx x.im x.im) |
#s(approx (/ (neg x.im) y.im) (*.f64 #s(literal -1 binary64) (/.f64 x.im y.im))) |
#s(approx (neg x.im) (*.f64 #s(literal -1 binary64) x.im)) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ x.im y.re) (/.f64 x.im y.re)) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 (+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 2 binary64)))) x.im)) |
#s(approx (* x.im (pow y.im 2)) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (+.f64 (/.f64 y.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 x.im (+.f64 (/.f64 x.re (*.f64 x.im y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 x.im (+.f64 (/.f64 x.re x.im) (/.f64 y.im y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (*.f64 x.im (+.f64 (/.f64 y.im (+.f64 y.im y.re)) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (+.f64 y.im y.re)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 x.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 3 binary64)))) (+.f64 (/.f64 x.re (*.f64 x.im y.re)) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.im (+.f64 (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.re) (*.f64 x.im (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re x.im) (*.f64 #s(literal -1 binary64) (/.f64 y.im y.re)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (+.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (+.f64 y.im y.re)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) y.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) x.im)))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 y.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re y.re)) x.im)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (/.f64 (*.f64 x.re y.im) (*.f64 x.im (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) y.re)) |
#s(approx y.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.re (-.f64 (/.f64 x.re y.im) (/.f64 x.im y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.re y.im)) (/.f64 x.im y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (fma.f64 y.re (-.f64 (/.f64 x.re (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.re y.im)) (/.f64 x.im y.im))))) |
#s(approx (+ y.re y.im) y.im) |
#s(approx (+ y.re y.im) (+.f64 y.im y.re)) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 3 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 x.im (*.f64 y.im y.re))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (*.f64 y.re (fma.f64 x.im y.im (*.f64 x.re y.re)))) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.im) (*.f64 x.im y.re)) (pow.f64 y.re #s(literal 3 binary64)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) (pow.f64 y.re #s(literal 2 binary64)))) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.im))) (pow.f64 y.re #s(literal 2 binary64))) (/.f64 (*.f64 x.im y.im) y.re))) (/.f64 (*.f64 x.re y.im) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.re (+.f64 (/.f64 (*.f64 x.im y.im) y.re) (/.f64 (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.im))) (pow.f64 y.re #s(literal 3 binary64))))) (+.f64 (/.f64 (*.f64 x.re y.im) y.re) (/.f64 (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.im))) (pow.f64 y.re #s(literal 2 binary64)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.re (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)))) |
#s(approx (+ y.re y.im) (*.f64 y.re (+.f64 #s(literal 1 binary64) (/.f64 y.im y.re)))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) y.re))) (pow.f64 y.re #s(literal 2 binary64)))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 y.re (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (*.f64 y.re (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 y.im y.re)) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 x.im (pow.f64 y.im #s(literal 3 binary64))) y.re) (*.f64 #s(literal -1 binary64) (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im y.im) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)))) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.im 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.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)))) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im)))))) y.re))) (*.f64 #s(literal -1 binary64) (*.f64 x.re y.im))) y.re)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)))))) |
#s(approx (+ y.re y.im) (*.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 (/ (* x.re y.re) y.im)) y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im y.re)) (*.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (*.f64 #s(literal -1 binary64) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (*.f64 y.im y.re)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (pow.f64 y.re #s(literal 4 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.im (-.f64 (/.f64 x.im y.re) (/.f64 x.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.im y.re)) (/.f64 x.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.re (*.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (fma.f64 y.im (-.f64 (/.f64 x.im (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.im y.re)) (/.f64 x.re y.re))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)) (pow.f64 y.im #s(literal 2 binary64)))) |
#s(approx (pow y.im 2) (pow.f64 y.im #s(literal 2 binary64))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (pow.f64 y.re #s(literal 3 binary64))) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (pow.f64 y.im #s(literal 2 binary64)))) y.im)) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 y.im (+.f64 (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (/.f64 x.re (*.f64 y.im y.re))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 y.im (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) (/.f64 (*.f64 x.im y.re) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.re))) (pow.f64 y.im #s(literal 2 binary64))) (/.f64 (*.f64 x.re y.re) y.im))) (/.f64 (*.f64 x.im y.re) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (-.f64 (+.f64 x.im (+.f64 (/.f64 (*.f64 x.re y.re) y.im) (/.f64 (*.f64 (pow.f64 y.re #s(literal 2 binary64)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.re))) (pow.f64 y.im #s(literal 3 binary64))))) (+.f64 (/.f64 (*.f64 x.im y.re) y.im) (/.f64 (*.f64 y.re (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.re))) (pow.f64 y.im #s(literal 2 binary64)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)))) |
#s(approx (+ y.re y.im) (*.f64 y.im (+.f64 #s(literal 1 binary64) (/.f64 y.re y.im)))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (*.f64 (pow.f64 y.im #s(literal 2 binary64)) y.re)))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64))))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im 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 (-.f64 (/.f64 (*.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) y.im) (*.f64 #s(literal -1 binary64) (*.f64 x.im (pow.f64 y.re #s(literal 2 binary64))))) y.im) (*.f64 x.re y.re)) y.im))) y.im))) |
#s(approx (/ (+ x.re (/ (* x.im y.im) y.re)) y.re) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re))))))) |
#s(approx (+ x.re (/ (* x.im y.im) y.re)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im y.re) (*.f64 #s(literal -1 binary64) (/.f64 x.re y.im)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re))) y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re y.re) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)))) y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re))) y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (+.f64 x.im (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) (*.f64 x.re 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.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)))) y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 x.re y.re)) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re)))))) y.im))) (*.f64 #s(literal -1 binary64) (*.f64 x.im y.re))) y.im)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) x.im (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) y.im)))))) |
#s(approx (+ y.re y.im) (*.f64 #s(literal -1 binary64) (*.f64 y.im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 y.re y.im)) #s(literal 1 binary64))))) |
#s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (/.f64 x.re (*.f64 y.im y.re)))) y.im))))) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (*.f64 #s(literal -1 binary64) (*.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))))))) |
#s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) #s(literal 1 binary64)) y.im))) |
12 calls:
| Time | Variable | Point |
|---|---|---|
| 6.0ms | x.im | inf |
| 5.0ms | x.im | -inf |
| 5.0ms | y.re | -inf |
| 4.0ms | y.im | -inf |
| 4.0ms | x.re | -inf |
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
(/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re) |
(+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) |
x.re |
(/.f64 (*.f64 x.im y.im) y.re) |
(*.f64 x.im y.im) |
x.im |
y.im |
y.re |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
(/.f64 (neg.f64 x.im) y.im) |
(neg.f64 x.im) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) |
(+.f64 y.re y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re)) |
#s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) |
(/.f64 (/.f64 x.im y.re) y.re) |
(/.f64 x.im y.re) |
(/.f64 x.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))))) |
(*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))) |
(+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
(/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))) |
(*.f64 x.re 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 (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (fma.f64 (/.f64 x.im y.re) y.im (/.f64 x.re y.re))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) (/.f64 y.im y.re) (*.f64 x.re x.re)) (fma.f64 (/.f64 x.im y.re) y.im (/.f64 x.re y.re))) |
(*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (/.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) y.re))) |
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re)) (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re))) (fma.f64 (/.f64 x.im y.re) y.im (/.f64 x.re y.re))) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re)) (/.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re)) y.re))) |
(+.f64 (/.f64 (*.f64 x.im y.im) y.re) (/.f64 x.re y.re)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) (/.f64 y.im y.re) (*.f64 x.re x.re)) (fma.f64 (/.f64 x.im y.re) y.im x.re)) |
(*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (fma.f64 (*.f64 x.im x.im) (/.f64 y.im y.re) (*.f64 x.re x.re))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.im x.im) y.im) y.re) (*.f64 x.re x.re)) (neg.f64 (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re)))) |
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 x.im x.im) y.im) y.re) (*.f64 x.re x.re)) (-.f64 (/.f64 (*.f64 x.im y.im) y.re) x.re)) |
(*.f64 (fma.f64 (/.f64 (*.f64 x.im y.im) y.re) (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 x.re x.re)) (fma.f64 (*.f64 x.im x.im) (/.f64 y.im y.re) (*.f64 x.re x.re))) |
x.re |
(neg.f64 (neg.f64 x.re)) |
(*.f64 (/.f64 x.im y.re) (/.f64 y.im y.re)) |
(*.f64 (/.f64 x.im y.re) y.im) |
(*.f64 (/.f64 y.im y.re) x.im) |
(*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) |
(*.f64 x.im (/.f64 y.im y.re)) |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
(*.f64 (*.f64 x.im y.im) #s(literal 1 binary64)) |
(*.f64 (*.f64 x.im y.im) y.im) |
(*.f64 #s(literal 1 binary64) (*.f64 x.im y.im)) |
x.im |
(*.f64 x.im #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) x.im) |
(+.f64 x.im x.im) |
(/.f64 x.im #s(literal 1 binary64)) |
y.im |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 y.im #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(*.f64 #s(literal 1 binary64) y.im) |
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))) |
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
(*.f64 (*.f64 x.im y.im) #s(literal 1 binary64)) |
(*.f64 (*.f64 x.im y.im) y.im) |
(*.f64 #s(literal 1 binary64) (*.f64 x.im y.im)) |
x.im |
(*.f64 x.im #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) x.im) |
(+.f64 x.im x.im) |
(/.f64 x.im #s(literal 1 binary64)) |
(/.f64 #s(approx (+ (* y.im x.im) (* x.re y.re)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (+ (* y.im x.im) (* x.re y.re)) (*.f64 x.im y.im)) |
(*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re)) |
(*.f64 (fabs.f64 (-.f64 y.im y.re)) (fabs.f64 (-.f64 y.im y.re))) |
(*.f64 (fma.f64 (-.f64 y.im y.re) y.im y.re) (-.f64 y.im y.re)) |
(*.f64 (-.f64 y.im y.re) (fma.f64 (-.f64 y.im y.re) y.im y.re)) |
(+.f64 y.re y.im) |
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
(fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re)) |
#s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) |
(*.f64 (/.f64 x.im y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
(/.f64 (/.f64 x.im y.re) y.re) |
(/.f64 (*.f64 #s(literal -1 binary64) x.im) y.re) |
(*.f64 (/.f64 x.im y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 x.im y.re)) |
(/.f64 x.im y.re) |
(/.f64 (/.f64 x.im y.re) y.re) |
(/.f64 (*.f64 #s(literal -1 binary64) x.im) y.re) |
(/.f64 x.re y.re) |
(/.f64 (neg.f64 x.re) y.re) |
(/.f64 (/.f64 x.re y.re) y.re) |
(neg.f64 (/.f64 x.re y.re)) |
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) #s(approx (+ (* y.im x.im) (* (* x.re y.re) y.im)) (*.f64 x.im (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im)))) |
#s(approx (+ (* y.im x.im) (* (* x.re y.re) y.im)) (*.f64 x.im (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im))) |
(*.f64 x.im (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im)) |
(*.f64 (/.f64 x.im (*.f64 x.im y.im)) (fma.f64 (*.f64 x.re y.re) y.im (*.f64 x.im y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) y.im (*.f64 x.im y.im)) (/.f64 x.im (*.f64 x.im y.im))) |
(*.f64 (fma.f64 (*.f64 x.re y.re) y.im (*.f64 x.im y.im)) (/.f64 x.im x.im)) |
(*.f64 (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im) x.im) |
(*.f64 (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im) (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im)) |
(*.f64 (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im) y.im) |
(*.f64 y.im (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im)) |
(*.f64 (/.f64 (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im) (fma.f64 (*.f64 x.re y.re) y.im (*.f64 x.im y.im))) (*.f64 x.im y.im)) |
(*.f64 (-.f64 (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) (fma.f64 (*.f64 y.im x.re) (/.f64 y.re x.im) y.im)) |
y.im |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 y.im #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(*.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
#s(literal 2 binary64) |
#s(literal 0 binary64) |
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(*.f64 (fabs.f64 #s(literal 1 binary64)) (fabs.f64 #s(literal 1 binary64))) |
(*.f64 (*.f64 y.im x.re) (/.f64 y.re x.im)) |
(*.f64 (*.f64 y.im y.re) (/.f64 x.re x.im)) |
(*.f64 (/.f64 x.re x.im) (/.f64 y.re y.im)) |
(*.f64 (/.f64 y.re x.im) (/.f64 x.re y.im)) |
(*.f64 (/.f64 x.re y.im) (/.f64 y.re x.im)) |
(*.f64 x.re y.re) |
(*.f64 y.re x.re) |
(*.f64 (neg.f64 x.re) y.re) |
(*.f64 (*.f64 #s(literal 1 binary64) x.re) y.re) |
(*.f64 (*.f64 x.re y.re) y.re) |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
(*.f64 (*.f64 x.im y.im) #s(literal 1 binary64)) |
(*.f64 (*.f64 x.im y.im) y.im) |
(*.f64 #s(literal 1 binary64) (*.f64 x.im y.im)) |
y.im |
(*.f64 y.im #s(literal -1 binary64)) |
(*.f64 y.im #s(literal 1 binary64)) |
(*.f64 #s(literal -1 binary64) y.im) |
(*.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
#s(literal 2 binary64) |
#s(literal 0 binary64) |
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64)) |
(*.f64 (fabs.f64 #s(literal 1 binary64)) (fabs.f64 #s(literal 1 binary64))) |
Compiled 9 880 to 1 354 computations (86.3% saved)
31 alts after pruning (23 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 251 | 12 | 263 |
| Fresh | 8 | 11 | 19 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 6 | 6 |
| Total | 262 | 31 | 293 |
| Status | Accuracy | Program |
|---|---|---|
| 8.7% | (/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) | |
| ✓ | 62.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| ✓ | 62.2% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
| 34.5% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 #s(approx (- y.im y.re) y.im) #s(approx (- y.im y.re) y.im))) | |
| 8.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) | |
| 17.2% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) | |
| ✓ | 8.7% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
| 6.4% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) | |
| 6.6% | #s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) | |
| 39.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) | |
| 12.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) | |
| 56.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) | |
| 56.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) | |
| ✓ | 50.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
| ✓ | 52.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
| 9.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) | |
| 11.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) | |
| ✓ | 9.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
| 23.0% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) | |
| 44.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) | |
| 48.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) | |
| 48.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) | |
| 12.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) | |
| ✓ | 44.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| 12.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) | |
| ✓ | 44.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 39.4% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (/.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) y.re)))) | |
| 48.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) | |
| 35.4% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)) (pow.f64 y.im #s(literal 2 binary64))))))) | |
| 44.0% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) | |
| 7.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
Compiled 804 to 505 computations (37.2% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 #s(approx (- y.im y.re) y.im) #s(approx (- y.im y.re) y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 x.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 #s(approx (- y.im y.re) y.im) #s(approx (- y.im y.re) y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 x.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
| Inputs |
|---|
#s(approx (/ (+ (* y.im x.im) (* x.re y.re)) (+ y.im y.re)) (*.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re (*.f64 y.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) #s(approx (+ y.re y.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (/.f64 x.re y.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (neg.f64 (+.f64 x.im x.im)) y.im)) |
(/.f64 #s(approx (+ (* y.re x.re) (* x.im y.im)) (*.f64 x.im y.im)) (-.f64 y.im y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ y.re y.im)) (/.f64 (*.f64 x.re y.re) (+.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 y.re y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.re (/ (* x.im y.im) y.re)) (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (/ (* y.im x.re) y.re) (/ x.im y.re)) (/.f64 x.im y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* y.re x.re) (* x.im y.im)) (+ y.re y.im)) (fma.f64 (/.f64 x.re y.im) y.re (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (+.f64 x.im x.im) y.im)) (+.f64 y.re y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (/.f64 (*.f64 x.im y.im) y.re)) y.re)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 #s(approx (- y.im y.re) y.im) #s(approx (- y.im y.re) y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2))) (/.f64 (*.f64 x.re y.im) y.re)) (/.f64 x.re y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.re (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 y.re (+.f64 (/.f64 x.im y.re) (/.f64 x.re y.im)))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ x.im (/ (* x.re y.re) y.im)) (*.f64 x.im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) y.im)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (-.f64 y.im y.re) (-.f64 y.im y.re))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im #s(approx (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (fma.f64 (*.f64 x.re x.re) (/.f64 y.re y.im) (*.f64 x.im x.im))) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im #s(approx (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/.f64 (+.f64 y.im (/.f64 (*.f64 x.re y.re) x.im)) (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.re (+.f64 (/.f64 x.im (*.f64 x.re y.im)) (/.f64 y.re (pow.f64 y.im #s(literal 2 binary64))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ x.im (/ (* x.re y.re) y.im)) y.im) (*.f64 x.im (+.f64 (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 x.re y.re) (*.f64 x.im (pow.f64 y.im #s(literal 2 binary64)))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (/.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) (*.f64 (fma.f64 (/.f64 x.im y.re) y.im x.re) y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (/.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) (*.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im) y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (/.f64 x.re y.re) y.im) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x.re) (/.f64 y.im y.re)) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 (/.f64 x.im y.re) y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (+ (* y.im (+ (* -1 (* (neg x.re) (/ y.im y.re))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (+.f64 (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re (pow.f64 y.im #s(literal 2 binary64))) y.re) (*.f64 x.im y.im)) y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.im (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.re) (pow.f64 y.im #s(literal 3 binary64))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)) (*.f64 (pow.f64 y.im #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 x.re (pow.f64 y.re #s(literal 3 binary64))) (/.f64 x.im (*.f64 y.im (pow.f64 y.re #s(literal 2 binary64)))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 y.re (fma.f64 y.re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re y.re) (pow.f64 y.im #s(literal 4 binary64)))) (/.f64 x.im (pow.f64 y.im #s(literal 3 binary64)))) (/.f64 x.re (pow.f64 y.im #s(literal 2 binary64)))) (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (+.f64 (/.f64 y.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))) (/.f64 (*.f64 x.im y.im) (*.f64 x.re (+.f64 (pow.f64 y.im #s(literal 2 binary64)) (pow.f64 y.re #s(literal 2 binary64)))))))) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 x.im y.re) y.im)) y.re)) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.im (/.f64 (*.f64 x.re y.re) y.im)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
25 calls:
| 26.0ms | y.re |
| 24.0ms | x.im |
| 22.0ms | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 18.0ms | y.im |
| 18.0ms | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 6.6% | 1 | y.re |
| 6.6% | 1 | x.re |
| 6.6% | 1 | x.im |
| 6.6% | 1 | y.im |
| 6.6% | 1 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 44.1% | 1 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 44.1% | 1 | y.im |
| 44.1% | 1 | x.re |
| 44.1% | 1 | x.im |
| 44.1% | 1 | y.re |
| 66.1% | 3 | y.im |
| 69.5% | 3 | y.re |
| 74.2% | 3 | y.re |
| 52.1% | 1 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 73.1% | 3 | y.im |
| 75.3% | 3 | y.re |
| 83.2% | 3 | y.re |
| 81.1% | 3 | y.im |
| 83.2% | 3 | y.re |
| 85.0% | 4 | y.re |
| 76.6% | 3 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 67.6% | 3 | x.re |
| 70.7% | 4 | x.im |
| 85.5% | 4 | y.re |
| 86.5% | 5 | y.im |
Compiled 1 616 to 405 computations (74.9% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 3.0ms | -2.999233870410874e-43 | -2.7341765451261627e-43 |
| 14.0ms | -4.1284460363473303e+73 | -3.6430272805788064e+64 |
| 15.0ms | 304× | 0 | valid |
Compiled 935 to 642 computations (31.3% saved)
ival-mult!: 5.0ms (63.2% of total)ival-add!: 1.0ms (12.6% of total)ival-div!: 1.0ms (12.6% of total)adjust: 0.0ms (0% of total)| 3× | binary-search |
| 1× | narrow-enough |
| 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 |
| 1.0ms | -4.1284460363473303e+73 | -3.6430272805788064e+64 |
Compiled 935 to 631 computations (32.5% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.2767990029651682e-78 | 4.224637637968445e-76 |
| 2.0ms | -2.999233870410874e-43 | -2.7341765451261627e-43 |
| 1.0ms | 16× | 0 | valid |
Compiled 518 to 358 computations (30.9% saved)
adjust: 0.0ms (0% of total)ival-add!: 0.0ms (0% of total)ival-mult!: 0.0ms (0% of total)ival-div!: 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 518 to 358 computations (30.9% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 3.115397096431997e+53 | 2.5091509835948592e+54 |
| 13.0ms | -1.7079297463000565e-34 | -3.6759925932798556e-37 |
| 15.0ms | 224× | 0 | valid |
Compiled 634 to 452 computations (28.7% saved)
ival-mult!: 7.0ms (80.1% of total)ival-add!: 1.0ms (11.4% of total)ival-div!: 1.0ms (11.4% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 3.115397096431997e+53 | 2.5091509835948592e+54 |
| 2.0ms | -1.7079297463000565e-34 | -3.6759925932798556e-37 |
Compiled 634 to 452 computations (28.7% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 7.613441848212363e-53 | 7.97678176952403e-39 |
| 14.0ms | -1.7079297463000565e-34 | -3.6759925932798556e-37 |
| 19.0ms | 224× | 0 | valid |
Compiled 702 to 522 computations (25.6% saved)
ival-mult!: 4.0ms (64.5% of total)ival-add!: 1.0ms (16.1% of total)ival-div!: 1.0ms (16.1% of total)adjust: 0.0ms (0% of total)| 1× | fuel |
Compiled 625 to 82 computations (86.9% saved)
Compiled 640 to 93 computations (85.5% saved)
Loading profile data...