
Time bar (total: 3.4s)
| 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)
| 592.0ms | 8 256× | 0 | valid |
ival-mult!: 180.0ms (53.2% of total)ival-div!: 123.0ms (36.4% of total)ival-add!: 34.0ms (10.1% of total)adjust: 1.0ms (0.3% of total)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 229 |
| 1 | 292 | 225 |
| 2 | 951 | 225 |
| 3 | 2562 | 225 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.9% | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
Compiled 22 to 22 computations (0% 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))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (* x.re y.re) #s(hole binary64 (* x.re y.re))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx x.im #s(hole binary64 x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | y.im | @ | inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im)) |
| 2.0ms | x.im | @ | inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im)) |
| 2.0ms | x.re | @ | inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im)) |
| 2.0ms | y.re | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im)) |
| 1.0ms | y.im | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re y.re) (* x.im y.im)) (* x.re y.re) x.re y.re (* x.im y.im) x.im y.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 245 | 1314 |
| 0 | 252 | 1256 |
| 1 | 1754 | 1220 |
| 0 | 8595 | 1102 |
| 1 | 29786 | 1102 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| 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) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (* x.re y.re) #s(hole binary64 (* x.re y.re))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx x.im #s(hole binary64 x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
| Outputs |
|---|
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (+.f64 (neg.f64 (*.f64 y.re x.re)) (neg.f64 (*.f64 y.im x.im))) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (+.f64 (neg.f64 (*.f64 y.im x.im)) (neg.f64 (*.f64 y.re x.re))) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 y.re x.re)) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (neg.f64 (*.f64 y.im x.im)))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 y.im x.im))) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (*.f64 y.re x.re) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (neg.f64 (*.f64 y.im x.im)))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (fma.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 y.im x.im))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 y.im x.im)) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (neg.f64 (*.f64 y.re x.re)))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (neg.f64 (*.f64 y.im x.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 y.re x.re))) (*.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (*.f64 y.im x.im) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (neg.f64 (*.f64 y.re x.re)))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 y.re x.re)))) (neg.f64 (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (neg.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (fma.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 y.re x.re))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
(fma.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 (*.f64 y.re x.re) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(-.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) (/.f64 (*.f64 (neg.f64 x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(-.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) (/.f64 (neg.f64 (*.f64 y.im x.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(-.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (/.f64 (*.f64 (neg.f64 x.re) y.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(-.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (/.f64 (neg.f64 (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(-.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (neg.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
(+.f64 (/.f64 (*.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) (/.f64 (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 y.re x.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(+.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(+.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 y.im x.im (*.f64 y.re x.re)) |
(fma.f64 x.im y.im (*.f64 y.re x.re)) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
(fma.f64 x.re y.re (*.f64 y.im x.im)) |
(-.f64 (*.f64 y.im x.im) (*.f64 (neg.f64 x.re) y.re)) |
(-.f64 (*.f64 y.im x.im) (neg.f64 (*.f64 y.re x.re))) |
(-.f64 (*.f64 y.re x.re) (*.f64 (neg.f64 x.im) y.im)) |
(-.f64 (*.f64 y.re x.re) (neg.f64 (*.f64 y.im x.im))) |
(+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) |
(+.f64 (*.f64 y.re x.re) (*.f64 y.im x.im)) |
(*.f64 y.re x.re) |
(*.f64 x.re y.re) |
x.re |
y.re |
(*.f64 y.im x.im) |
(*.f64 x.im y.im) |
x.im |
y.im |
(fma.f64 (fabs.f64 (fabs.f64 y.re)) (fabs.f64 (fabs.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 (fabs.f64 y.re)) (neg.f64 (fabs.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (fabs.f64 y.re) (fabs.f64 y.re) (*.f64 y.im y.im)) |
(fma.f64 (fabs.f64 y.im) (fabs.f64 y.im) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 y.re) (neg.f64 y.re) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 y.im) (neg.f64 y.im) (*.f64 y.re y.re)) |
(fma.f64 y.im y.im (*.f64 y.re y.re)) |
(fma.f64 y.re y.re (*.f64 y.im y.im)) |
(-.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) y.im)) |
(-.f64 (*.f64 y.re y.re) (neg.f64 (*.f64 y.im y.im))) |
(-.f64 (*.f64 y.im y.im) (neg.f64 (*.f64 y.re y.re))) |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) |
(*.f64 (fabs.f64 (fabs.f64 y.re)) (fabs.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (fabs.f64 y.re)) (neg.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.re))) |
(*.f64 (fabs.f64 y.re) (fabs.f64 y.re)) |
(*.f64 (neg.f64 y.re) (neg.f64 y.re)) |
(*.f64 y.re y.re) |
(pow.f64 (fabs.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 y.re #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re))) |
(fabs.f64 (neg.f64 (*.f64 y.re y.re))) |
(fabs.f64 (*.f64 y.re y.re)) |
(*.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im))) |
(*.f64 (fabs.f64 y.im) (fabs.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 y.im)) |
(*.f64 y.im y.im) |
(pow.f64 (fabs.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 y.im #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) |
(fabs.f64 (neg.f64 (*.f64 y.im y.im))) |
(fabs.f64 (*.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 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
#s(approx (* x.re y.re) (*.f64 y.re x.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 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.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 x.im (/.f64 y.im x.re) y.re) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (neg.f64 x.re) (+.f64 (neg.f64 y.re) (neg.f64 (/.f64 (*.f64 y.im x.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 (/.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (neg.f64 x.im) (+.f64 (neg.f64 y.im) (neg.f64 (/.f64 (*.f64 y.re x.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))) (fma.f64 x.re (/.f64 y.re (*.f64 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))) (fma.f64 (+.f64 (/.f64 x.re (*.f64 y.im y.im)) (neg.f64 (*.f64 x.im (/.f64 y.re (*.f64 (*.f64 y.im y.im) 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))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im)))) (/.f64 x.im (*.f64 (*.f64 y.im y.im) y.im))) y.re (/.f64 x.re (*.f64 y.im y.im))) y.re (/.f64 x.im y.im))) |
#s(approx y.re y.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (* y.re y.re) (*.f64 y.re 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)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.im (/.f64 y.im y.re) (/.f64 (*.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (*.f64 y.re y.re))) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 x.im (/.f64 y.im y.re) (neg.f64 (*.f64 x.im (/.f64 (*.f64 (*.f64 y.im y.im) y.im) (*.f64 (*.f64 y.re y.re) y.re))))) x.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))) y.re)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 y.im y.re) #s(literal 1 binary64)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.im y.im) y.im) x.im) y.re) (*.f64 (neg.f64 x.re) (*.f64 y.im y.im))) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (neg.f64 y.re) (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.im (/.f64 y.im (*.f64 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))) (fma.f64 (+.f64 (/.f64 x.im (*.f64 y.re y.re)) (neg.f64 (*.f64 x.re (/.f64 y.im (*.f64 (*.f64 y.re y.re) y.re))))) 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))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re)))) (/.f64 x.re (*.f64 (*.f64 y.re y.re) y.re))) y.im (/.f64 x.im (*.f64 y.re y.re))) y.im (/.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 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (fma.f64 x.re (/.f64 y.re y.im) (/.f64 (*.f64 (neg.f64 x.im) (*.f64 y.re y.re)) (*.f64 y.im y.im))) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 x.re (/.f64 y.re y.im) (neg.f64 (*.f64 x.re (/.f64 (*.f64 (*.f64 y.re y.re) y.re) (*.f64 (*.f64 y.im y.im) y.im))))) x.im) (/.f64 (*.f64 (*.f64 y.re y.re) x.im) (*.f64 y.im y.im))) y.im)) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 y.re y.im) #s(literal 1 binary64)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (*.f64 (*.f64 y.re y.re) x.im) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.re y.re) y.re) x.re) y.im) (*.f64 (neg.f64 x.im) (*.f64 y.re y.re))) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 (neg.f64 y.im) (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)))) |
Compiled 1 209 to 475 computations (60.7% saved)
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 116 | 14 | 130 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 117 | 14 | 131 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 62.9% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 62.9% | (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) | |
| 38.0% | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) | |
| 37.3% | (/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) | |
| ▶ | 51.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
| ▶ | 56.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
| 51.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) | |
| 41.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) | |
| ▶ | 41.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 54.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (/.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)) | |
| 44.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 (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| 40.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| 56.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) | |
| ▶ | 50.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
Compiled 410 to 410 computations (0% saved)
| Inputs |
|---|
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
y.re |
x.re |
(*.f64 y.im x.im) |
y.im |
x.im |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (+ (* x.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 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
(/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im) |
(fma.f64 x.re (/.f64 y.re y.im) x.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) |
(/.f64 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))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
(neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re)) |
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re) |
(+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) |
(neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) |
(/.f64 (*.f64 y.im x.im) y.re) |
(neg.f64 x.re) |
| Outputs |
|---|
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 x.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (+ x.im (/ (* x.re y.re) y.im)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (- (/ x.re y.re) (* -1 (/ (* x.im y.im) (pow y.re 2)))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (+ (* -1 (/ x.re y.re)) (* -1 (/ (* x.im y.im) (pow y.re 2)))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (/ (* x.im y.im) y.re)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (- (* -1 x.re) (/ (* x.im y.im) y.re)))) |
#s(approx (neg x.re) #s(hole binary64 (* -1 x.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ (* x.re y.re) (pow y.im 2)))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* x.re (+ (/ x.im (* x.re y.im)) (/ y.re (pow y.im 2)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (* x.re y.re) y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.re (+ (/ x.im x.re) (/ y.re y.im))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ x.re y.re))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ x.re y.re)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im (* x.re y.im))) (* -1 (/ y.re (pow y.im 2)))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im x.re)) (* -1 (/ y.re y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2)))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (- (/ (* x.im y.im) (pow y.re 2)) (* -1 (/ x.re y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (- (* -1 (/ (* x.im y.im) y.re)) x.re))) |
#s(approx (/ (* y.im x.im) y.re) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* x.im (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.im (+ 1 (/ (* x.re y.re) (* x.im y.im)))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* x.im (- (/ x.re (* x.im y.re)) (* -1 (/ y.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* x.im (- (* -1 (/ x.re x.im)) (/ y.im y.re))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/ 1 y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im y.im))) 1))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ x.re (* x.im y.re))) (/ y.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* x.im (- (/ x.re x.im) (* -1 (/ y.im y.re))))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ y.re y.im) #s(hole binary64 (/ y.re y.im))) |
#s(approx (/ y.re (* y.im y.im)) #s(hole binary64 (/ y.re (pow y.im 2)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (- (* x.re y.re) (* -1 (* x.im y.im))) (pow y.re 2)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* -1 (* x.im y.im)) (* -1 (* x.re y.re))) (pow y.re 2)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (/ (- (* -1 (* x.re y.re)) (* x.im y.im)) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* x.im y.im) y.re)) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* y.re (+ (/ x.im (* y.im y.re)) (/ x.re (pow y.im 2)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* y.re (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (- (/ (* x.im y.im) y.re) (* -1 x.re)) y.re))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im (* y.im y.re))) (* -1 (/ x.re (pow y.im 2)))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (/ (- (* -1 (/ (* x.im y.im) y.re)) x.re) y.re)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ (+ x.re (/ (* x.im y.im) y.re)) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.im 2)))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* x.re y.re) y.im)) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* y.im (- (/ x.re (* y.im y.re)) (* -1 (/ x.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* y.im (- (* -1 (/ x.re y.im)) (/ x.im y.re))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))) y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* y.im (- (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* y.im (- (/ x.re y.im) (* -1 (/ x.im y.re))))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x.im | @ | -inf | ((/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) y.re x.re (* y.im x.im) y.im x.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re (/ y.re (* y.im y.im))) (/ x.im y.im)) (/ y.re (* y.im y.im)) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg (/ (* y.im x.im) y.re)) (/ (* y.im x.im) y.re) (neg x.re)) |
| 5.0ms | x.im | @ | inf | ((/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) y.re x.re (* y.im x.im) y.im x.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re (/ y.re (* y.im y.im))) (/ x.im y.im)) (/ y.re (* y.im y.im)) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg (/ (* y.im x.im) y.re)) (/ (* y.im x.im) y.re) (neg x.re)) |
| 4.0ms | y.im | @ | -inf | ((/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) y.re x.re (* y.im x.im) y.im x.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re (/ y.re (* y.im y.im))) (/ x.im y.im)) (/ y.re (* y.im y.im)) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg (/ (* y.im x.im) y.re)) (/ (* y.im x.im) y.re) (neg x.re)) |
| 4.0ms | y.re | @ | -inf | ((/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) y.re x.re (* y.im x.im) y.im x.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re (/ y.re (* y.im y.im))) (/ x.im y.im)) (/ y.re (* y.im y.im)) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg (/ (* y.im x.im) y.re)) (/ (* y.im x.im) y.re) (neg x.re)) |
| 3.0ms | y.re | @ | inf | ((/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) y.re x.re (* y.im x.im) y.im x.im (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* x.re (/ y.re (* y.im y.im))) (/ x.im y.im)) (/ y.re (* y.im y.im)) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg (/ (* y.im x.im) y.re)) (/ (* y.im x.im) y.re) (neg x.re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 461 | 2668 |
| 0 | 489 | 2449 |
| 1 | 3140 | 2433 |
| 0 | 8393 | 2292 |
| 1 | 24937 | 2292 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
y.re |
x.re |
(*.f64 y.im x.im) |
y.im |
x.im |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(*.f64 y.re y.re) |
(*.f64 y.im y.im) |
#s(approx (/ (+ (* x.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 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
(/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im) |
(fma.f64 x.re (/.f64 y.re y.im) x.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) |
(/.f64 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))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
(neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re)) |
(/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re) |
(+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) |
(neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) |
(/.f64 (*.f64 y.im x.im) y.re) |
(neg.f64 x.re) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 x.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (+ x.im (/ (* x.re y.re) y.im)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (- (/ x.re y.re) (* -1 (/ (* x.im y.im) (pow y.re 2)))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (+ (* -1 (/ x.re y.re)) (* -1 (/ (* x.im y.im) (pow y.re 2)))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (/ (* x.im y.im) y.re)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (- (* -1 x.re) (/ (* x.im y.im) y.re)))) |
#s(approx (neg x.re) #s(hole binary64 (* -1 x.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ (* x.re y.re) (pow y.im 2)))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* x.re (+ (/ x.im (* x.re y.im)) (/ y.re (pow y.im 2)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (* x.re y.re) y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.re (+ (/ x.im x.re) (/ y.re y.im))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ x.re y.re))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ x.re y.re)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im (* x.re y.im))) (* -1 (/ y.re (pow y.im 2)))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im x.re)) (* -1 (/ y.re y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2)))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (- (/ (* x.im y.im) (pow y.re 2)) (* -1 (/ x.re y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (- (* -1 (/ (* x.im y.im) y.re)) x.re))) |
#s(approx (/ (* y.im x.im) y.re) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* x.im (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.im (+ 1 (/ (* x.re y.re) (* x.im y.im)))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* x.im (- (/ x.re (* x.im y.re)) (* -1 (/ y.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* x.im (- (* -1 (/ x.re x.im)) (/ y.im y.re))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/ 1 y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im y.im))) 1))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ x.re (* x.im y.re))) (/ y.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* x.im (- (/ x.re x.im) (* -1 (/ y.im y.re))))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ y.re y.im) #s(hole binary64 (/ y.re y.im))) |
#s(approx (/ y.re (* y.im y.im)) #s(hole binary64 (/ y.re (pow y.im 2)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (- (* x.re y.re) (* -1 (* x.im y.im))) (pow y.re 2)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* -1 (* x.im y.im)) (* -1 (* x.re y.re))) (pow y.re 2)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (/ (- (* -1 (* x.re y.re)) (* x.im y.im)) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* x.im y.im) y.re)) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* y.re (+ (/ x.im (* y.im y.re)) (/ x.re (pow y.im 2)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* y.re (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (/ (- (/ (* x.im y.im) y.re) (* -1 x.re)) y.re))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))) y.re))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im (* y.im y.re))) (* -1 (/ x.re (pow y.im 2)))))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (/ (- (* -1 (/ (* x.im y.im) y.re)) x.re) y.re)))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (/ (+ x.re (/ (* x.im y.im) y.re)) y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.im 2)))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* x.re y.re) y.im)) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* x.re y.re) y.im))) y.im))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* y.im (- (/ x.re (* y.im y.re)) (* -1 (/ x.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* y.im (- (* -1 (/ x.re y.im)) (/ x.im y.re))))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))) y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) #s(hole binary64 (* -1 (* y.im (- (* -1 (/ x.re (* y.im y.re))) (/ x.im (pow y.re 2))))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) #s(hole binary64 (* -1 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re))))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) #s(hole binary64 (* -1 (* y.im (- (/ x.re y.im) (* -1 (/ x.im y.re))))))) |
| Outputs |
|---|
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 x.re y.re)))) (neg.f64 (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (*.f64 x.re y.re))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) (neg.f64 (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (neg.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
(fma.f64 (*.f64 x.im y.im) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 (*.f64 x.re y.re) (/.f64 #s(literal 1 binary64) (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(fma.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(-.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (neg.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
(+.f64 (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(+.f64 (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(neg.f64 (-.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 x.re y.re))) |
(fma.f64 x.im y.im (*.f64 x.re y.re)) |
(fma.f64 y.im x.im (*.f64 x.re y.re)) |
(fma.f64 x.re y.re (*.f64 #s(literal 1 binary64) (*.f64 x.im y.im))) |
(fma.f64 x.re y.re (neg.f64 (*.f64 (neg.f64 x.im) y.im))) |
(fma.f64 x.re y.re (*.f64 x.im y.im)) |
(fma.f64 y.re x.re (*.f64 #s(literal 1 binary64) (*.f64 x.im y.im))) |
(fma.f64 y.re x.re (neg.f64 (*.f64 (neg.f64 x.im) y.im))) |
(fma.f64 y.re x.re (*.f64 x.im y.im)) |
(-.f64 (*.f64 x.im y.im) (*.f64 (neg.f64 x.re) y.re)) |
(-.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 y.im) x.im)) |
(-.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 x.im) y.im)) |
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) |
(+.f64 (*.f64 x.re y.re) (*.f64 #s(literal 1 binary64) (*.f64 x.im y.im))) |
(+.f64 (*.f64 x.re y.re) (neg.f64 (*.f64 (neg.f64 x.im) y.im))) |
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) |
y.re |
x.re |
(*.f64 x.im y.im) |
(*.f64 y.im x.im) |
y.im |
x.im |
(fma.f64 (fabs.f64 (fabs.f64 y.re)) (fabs.f64 (fabs.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 (fabs.f64 y.re)) (neg.f64 (fabs.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.re)) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im)) (*.f64 y.re y.re)) |
(fma.f64 (fabs.f64 y.im) (fabs.f64 y.im) (*.f64 y.re y.re)) |
(fma.f64 (fabs.f64 y.re) (fabs.f64 y.re) (*.f64 y.im y.im)) |
(fma.f64 (neg.f64 y.im) (neg.f64 y.im) (*.f64 y.re y.re)) |
(fma.f64 (neg.f64 y.re) (neg.f64 y.re) (*.f64 y.im y.im)) |
(fma.f64 y.im y.im (*.f64 y.re y.re)) |
(fma.f64 y.re y.re (*.f64 y.im y.im)) |
(-.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) y.im)) |
(-.f64 (*.f64 y.re y.re) (neg.f64 (*.f64 y.im y.im))) |
(-.f64 (*.f64 y.im y.im) (neg.f64 (*.f64 y.re y.re))) |
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) |
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) |
(*.f64 (fabs.f64 (fabs.f64 y.re)) (fabs.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (fabs.f64 y.re)) (neg.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.re))) |
(*.f64 (fabs.f64 y.re) (fabs.f64 y.re)) |
(*.f64 (neg.f64 y.re) (neg.f64 y.re)) |
(*.f64 y.re y.re) |
(pow.f64 (fabs.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 y.re #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re))) |
(fabs.f64 (neg.f64 (*.f64 y.re y.re))) |
(fabs.f64 (*.f64 y.re y.re)) |
(*.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im))) |
(*.f64 (fabs.f64 y.im) (fabs.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 y.im)) |
(*.f64 y.im y.im) |
(pow.f64 (fabs.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 y.im #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) |
(fabs.f64 (neg.f64 (*.f64 y.im y.im))) |
(fabs.f64 (*.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 (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 x.im) (neg.f64 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 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
(*.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im))) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im)) (neg.f64 y.im)) |
(/.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im) |
(fma.f64 x.im (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 (/.f64 y.re y.im) x.re) y.im)) |
(+.f64 (/.f64 (*.f64 (/.f64 y.re y.im) x.re) y.im) (/.f64 x.im y.im)) |
(+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 (/.f64 y.re y.im) x.re) y.im)) |
(fma.f64 (/.f64 y.re y.im) x.re x.im) |
(fma.f64 (*.f64 x.re y.re) (/.f64 #s(literal 1 binary64) y.im) x.im) |
(fma.f64 x.re (/.f64 y.re y.im) x.im) |
(-.f64 (*.f64 (/.f64 y.re y.im) x.re) (neg.f64 x.im)) |
(-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) |
(+.f64 (*.f64 (/.f64 y.re y.im) x.re) x.im) |
(+.f64 x.im (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 y.re (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 y.re) (neg.f64 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 (/.f64 y.re (*.f64 y.im y.im)) x.re (/.f64 x.im y.im))) |
(/.f64 (neg.f64 (fma.f64 (*.f64 y.im y.im) x.im (*.f64 y.im (*.f64 x.re y.re)))) (*.f64 (neg.f64 y.im) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 (*.f64 y.im y.im) x.im (*.f64 y.im (*.f64 x.re y.re))) (*.f64 (*.f64 y.im y.im) y.im)) |
(fma.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re (/.f64 x.im y.im)) |
(fma.f64 (*.f64 x.re y.re) (/.f64 #s(literal 1 binary64) (*.f64 y.im y.im)) (/.f64 x.im y.im)) |
(fma.f64 x.im (/.f64 #s(literal 1 binary64) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re)) |
(fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) |
(-.f64 (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re) (neg.f64 (/.f64 x.im y.im))) |
(-.f64 (/.f64 x.im y.im) (neg.f64 (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
(+.f64 (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re) (/.f64 x.im y.im)) |
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re)) |
(*.f64 y.re (/.f64 #s(literal 1 binary64) (*.f64 y.im y.im))) |
(/.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 (*.f64 y.im y.im)))) |
(/.f64 (neg.f64 y.re) (neg.f64 (*.f64 y.im y.im))) |
(/.f64 (/.f64 (neg.f64 y.re) y.im) (neg.f64 y.im)) |
(/.f64 (/.f64 y.re y.im) y.im) |
(/.f64 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 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(*.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) (/.f64 #s(literal 1 binary64) y.re)) |
(*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.f64 #s(literal 1 binary64) y.re)) |
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) y.re)) |
(*.f64 (/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) y.re) #s(literal -1 binary64)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x.im y.im) y.re) y.re) (*.f64 y.re (neg.f64 x.re))) (*.f64 y.re y.re)) |
(/.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)))) (neg.f64 y.re)) |
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re))) y.re) |
(/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) (neg.f64 (neg.f64 y.re))) |
(/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re) |
(/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) |
(/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) (neg.f64 y.re)) |
(neg.f64 (/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) y.re)) |
(fma.f64 x.re (/.f64 #s(literal 1 binary64) y.re) (/.f64 (/.f64 (*.f64 x.im y.im) y.re) y.re)) |
(-.f64 (/.f64 (/.f64 (*.f64 x.im y.im) y.re) y.re) (/.f64 (neg.f64 x.re) y.re)) |
(+.f64 (/.f64 x.re y.re) (/.f64 (/.f64 (*.f64 x.im y.im) y.re) y.re)) |
(*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(*.f64 (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) #s(literal -1 binary64)) |
(*.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) (neg.f64 y.re)) (*.f64 y.re (neg.f64 x.re))) (*.f64 y.re (neg.f64 y.re))) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re) (*.f64 x.re y.re)) (*.f64 y.re y.re)) |
(/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) (neg.f64 y.re)) |
(/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) y.re) |
(neg.f64 (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(fma.f64 #s(literal -1 binary64) (/.f64 x.re y.re) (/.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re)) |
(fma.f64 (/.f64 x.re y.re) #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re)) |
(-.f64 (/.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re) (/.f64 x.re y.re)) |
(+.f64 (/.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re) (/.f64 (neg.f64 x.re) y.re)) |
(+.f64 (/.f64 (neg.f64 x.re) y.re) (/.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) y.re)) |
(*.f64 #s(literal -1 binary64) (fma.f64 x.im (/.f64 y.im y.re) x.re)) |
(neg.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re))) |
(neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) |
(fma.f64 (/.f64 (*.f64 x.im y.im) y.re) #s(literal -1 binary64) (neg.f64 x.re)) |
(fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) |
(fma.f64 #s(literal -1 binary64) x.re (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) |
(fma.f64 x.re #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) |
(-.f64 (neg.f64 x.re) (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.im y.im) y.re))) |
(-.f64 (neg.f64 x.re) (neg.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)))) |
(-.f64 (neg.f64 x.re) (/.f64 (*.f64 x.im y.im) y.re)) |
(-.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) (neg.f64 (neg.f64 x.re))) |
(-.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) x.re) |
(+.f64 (neg.f64 x.re) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) |
(+.f64 (/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) (neg.f64 x.re)) |
(*.f64 (/.f64 (*.f64 x.im y.im) y.re) #s(literal -1 binary64)) |
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.im y.im) y.re)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x.im) y.im)) (neg.f64 y.re)) |
(/.f64 (*.f64 (neg.f64 x.im) y.im) (neg.f64 (neg.f64 y.re))) |
(/.f64 (*.f64 (neg.f64 x.im) y.im) y.re) |
(/.f64 (*.f64 x.im y.im) (neg.f64 y.re)) |
(neg.f64 (/.f64 (*.f64 x.im y.im) y.re)) |
(*.f64 (*.f64 x.im y.im) (/.f64 #s(literal 1 binary64) y.re)) |
(*.f64 x.im (/.f64 y.im y.re)) |
(*.f64 y.im (/.f64 x.im y.re)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x.im) y.im)) (neg.f64 (neg.f64 y.re))) |
(/.f64 (*.f64 (neg.f64 x.im) y.im) (neg.f64 y.re)) |
(/.f64 (*.f64 x.im y.im) y.re) |
(*.f64 #s(literal -1 binary64) x.re) |
(*.f64 x.re #s(literal -1 binary64)) |
(neg.f64 x.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 x.im y.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (fma.f64 x.im y.im (*.f64 x.re y.re))) |
#s(approx x.re x.re) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (/.f64 x.im y.im)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (fma.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re (/.f64 x.im y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) x.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (fma.f64 (/.f64 y.re y.im) x.re x.im)) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (+.f64 (/.f64 (neg.f64 x.re) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re))) |
#s(approx (neg x.re) (neg.f64 x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)) (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 x.re y.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) x.re)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (+.f64 (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im (*.f64 y.im x.re))) x.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)) x.re)) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 x.re y.re)) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re)) x.re)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (neg.f64 x.re) y.re)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re))) x.re)) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 x.re y.re)) #s(literal 1 binary64))) x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.re) (+.f64 (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)) (/.f64 (neg.f64 y.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.re) (+.f64 (neg.f64 y.re) (neg.f64 (/.f64 (*.f64 x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (neg.f64 x.re) (+.f64 (/.f64 (neg.f64 y.re) (*.f64 y.im y.im)) (/.f64 (neg.f64 x.im) (*.f64 y.im x.re))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 x.re) (+.f64 (/.f64 (neg.f64 y.re) y.im) (/.f64 (neg.f64 x.im) x.re)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (neg.f64 x.re) (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (neg.f64 x.re) (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re)))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (neg.f64 x.re) (fma.f64 x.im (/.f64 y.im (*.f64 x.re y.re)) #s(literal 1 binary64)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (-.f64 (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (neg.f64 x.re) y.re))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re))) |
#s(approx (/ (* y.im x.im) y.re) (/.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 (fma.f64 x.re (/.f64 y.re (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.im)) (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) x.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) x.im)) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (fma.f64 x.re (/.f64 y.re (*.f64 (*.f64 y.im y.im) x.im)) (/.f64 #s(literal 1 binary64) y.im)) x.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (fma.f64 x.re (/.f64 y.re (*.f64 x.im y.im)) #s(literal 1 binary64)) x.im)) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (+.f64 (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re (*.f64 x.im y.re))) x.im)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (-.f64 (/.f64 (neg.f64 x.re) (*.f64 x.im y.re)) (/.f64 y.im (*.f64 y.re y.re))) x.im)) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (-.f64 (/.f64 (neg.f64 x.re) x.im) (/.f64 y.im y.re)) x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.im)) (/.f64 (neg.f64 y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.im) (+.f64 (neg.f64 y.im) (/.f64 (*.f64 (neg.f64 x.re) y.re) x.im)))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (neg.f64 x.im) (neg.f64 (fma.f64 x.re (/.f64 y.re (*.f64 (*.f64 y.im y.im) x.im)) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 x.im) (neg.f64 (fma.f64 x.re (/.f64 y.re (*.f64 x.im y.im)) #s(literal 1 binary64))))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (neg.f64 x.im) (-.f64 (/.f64 (neg.f64 x.re) (*.f64 x.im y.re)) (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re (*.f64 x.im y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (neg.f64 x.im) (-.f64 (/.f64 x.re x.im) (/.f64 (neg.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 (+.f64 (/.f64 x.re (*.f64 y.im y.im)) (neg.f64 (*.f64 x.im (/.f64 y.re (*.f64 (*.f64 y.im y.im) 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))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) (/.f64 x.im (*.f64 (*.f64 y.im y.im) y.im))) y.re (/.f64 x.re (*.f64 y.im y.im))) y.re (/.f64 x.im y.im))) |
#s(approx y.re y.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (* y.re y.re) (*.f64 y.re y.re)) |
#s(approx (/ y.re y.im) (/.f64 y.re y.im)) |
#s(approx (/ y.re (* y.im y.im)) (/.f64 y.re (*.f64 y.im y.im))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 y.re y.re))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (neg.f64 (fma.f64 x.im y.im (*.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 (fma.f64 x.im (/.f64 y.im y.re) 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 x.im (/.f64 y.im y.re) (/.f64 (*.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (*.f64 y.re y.re))) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 x.im (/.f64 y.im y.re) (neg.f64 (*.f64 x.im (/.f64 (*.f64 (*.f64 y.im y.im) y.im) (*.f64 (*.f64 y.re y.re) y.re))))) x.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))) y.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 y.im y.re) #s(literal 1 binary64)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (*.f64 y.im y.im))) y.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.re y.im) (/.f64 x.im y.re)) y.re)) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 x.im y.im (neg.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 x.im y.im (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.im y.im) y.im) x.im) y.re) (*.f64 (neg.f64 x.re) (*.f64 y.im y.im))) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.re) (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)))) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (neg.f64 y.re) (+.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (/.f64 (neg.f64 x.im) (*.f64 y.im y.re))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 y.re) (-.f64 (/.f64 (neg.f64 x.re) y.im) (/.f64 x.im y.re)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.im (/.f64 y.im (*.f64 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))) (fma.f64 (+.f64 (/.f64 x.im (*.f64 y.re y.re)) (neg.f64 (*.f64 x.re (/.f64 y.im (*.f64 (*.f64 y.re y.re) y.re))))) 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))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re))) (/.f64 x.re (*.f64 (*.f64 y.re y.re) y.re))) y.im (/.f64 x.im (*.f64 y.re y.re))) y.im (/.f64 x.re y.re))) |
#s(approx y.im y.im) |
#s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.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 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (fma.f64 (/.f64 y.re y.im) x.re (/.f64 (*.f64 (neg.f64 x.im) (*.f64 y.re y.re)) (*.f64 y.im y.im))) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 y.re y.im) x.re (neg.f64 (*.f64 x.re (/.f64 (*.f64 (*.f64 y.re y.re) y.re) (*.f64 (*.f64 y.im y.im) y.im))))) x.im) (/.f64 (*.f64 (*.f64 y.re y.re) x.im) (*.f64 y.im y.im))) y.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 y.re y.im) #s(literal 1 binary64)) (*.f64 y.im y.im))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (-.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 (neg.f64 x.im) (*.f64 y.re y.re))) y.im)) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (-.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.re)) (/.f64 x.im (*.f64 y.re y.re))) y.im)) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (-.f64 (/.f64 (neg.f64 x.re) y.im) (/.f64 x.im y.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 x.re y.re (neg.f64 (/.f64 (*.f64 (*.f64 y.re y.re) x.im) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 x.re y.re (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.re y.re) y.re) x.re) y.im) (*.f64 (neg.f64 x.im) (*.f64 y.re y.re))) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.im) (+.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im) (neg.f64 x.im)))) |
#s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 (neg.f64 y.im) (-.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.re)) (/.f64 x.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (*.f64 (neg.f64 y.im) (+.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (*.f64 y.re y.re))))) |
#s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (*.f64 (neg.f64 y.im) (-.f64 (/.f64 x.re y.im) (/.f64 (neg.f64 x.im) y.re)))) |
Compiled 2 495 to 1 089 computations (56.4% saved)
19 alts after pruning (16 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 276 | 12 | 288 |
| Fresh | 5 | 4 | 9 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 0 | 0 |
| Total | 283 | 19 | 302 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 38.0% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
| ✓ | 51.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
| ✓ | 56.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
| 51.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) | |
| ▶ | 50.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re)) |
| ▶ | 56.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im)) |
| ▶ | 25.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
| ▶ | 41.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| ✓ | 41.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 51.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.f64 #s(literal 1 binary64) y.re))) | |
| 44.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 (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| 40.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| 41.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 #s(literal 1 binary64) y.im))) | |
| 51.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) | |
| 20.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) | |
| 19.1% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) | |
| 23.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) | |
| 34.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re)))) | |
| 19.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
Compiled 624 to 624 computations (0% saved)
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im)) |
(/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im) |
(-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) |
x.im |
(/.f64 (*.f64 (neg.f64 x.re) y.re) y.im) |
(*.f64 (neg.f64 x.re) y.re) |
(neg.f64 x.re) |
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 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 (/.f64 y.re y.im) x.re) |
(/.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 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re)) |
(/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re) |
(-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) |
(/.f64 (*.f64 x.im y.im) y.re) |
(*.f64 x.im y.im) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
(*.f64 y.im x.im) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
(*.f64 y.im y.im) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 x.im)) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (+ x.im (/ (* x.re y.re) y.im)))) |
#s(approx (/ (* (neg x.re) y.re) y.im) #s(hole binary64 (* -1 (/ (* x.re y.re) y.im)))) |
#s(approx (* (neg x.re) y.re) #s(hole binary64 (* -1 (* x.re y.re)))) |
#s(approx (neg x.re) #s(hole binary64 (* -1 x.re))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ x.re y.re) #s(hole binary64 (/ x.re y.re))) |
#s(approx (* (/ y.re y.im) x.re) #s(hole binary64 (/ (* x.re y.re) y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (+ x.re (/ (* x.im y.im) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ (* x.re y.re) (pow y.im 2)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* x.re (+ (/ x.im (* x.re y.im)) (/ y.re (pow y.im 2)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* x.re (- (/ x.im x.re) (* -1 (/ y.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.re (+ (/ x.im x.re) (/ y.re y.im))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im (* x.re y.im))) (* -1 (/ y.re (pow y.im 2)))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ x.im x.re)) (/ y.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im x.re)) (* -1 (/ y.re y.im))))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (- x.im (* -1 (/ (* x.re y.re) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* x.im (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* x.im (+ 1 (/ (* x.re y.re) (* x.im y.im)))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* x.im (+ (/ x.re x.im) (/ y.im y.re))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/ 1 y.im)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im y.im))) 1))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2)))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re x.im)) (* -1 (/ y.im y.re))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (/ y.re y.im) #s(hole binary64 (/ y.re y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.re 2)))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.re))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* y.re (+ (/ x.im (* y.im y.re)) (/ x.re (pow y.im 2)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* y.re (- (/ x.im y.re) (* -1 (/ x.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* y.re (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.re 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im (* y.im y.re))) (* -1 (/ x.re (pow y.im 2)))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* y.re (- (* -1 (/ x.im y.re)) (/ x.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.im 2)))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (/ (- (* x.im y.im) (* -1 (* x.re y.re))) y.im))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* y.im (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re)))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 12.0ms | x.re | @ | 0 | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (- x.im (/ (* (neg x.re) y.re) y.im)) x.im (/ (* (neg x.re) y.re) y.im) (* (neg x.re) y.re) (neg x.re) x.re y.re y.im (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.re y.re) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (* (/ y.re y.im) x.re) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (- (/ (* x.im y.im) y.re) (neg x.re)) (/ (* x.im y.im) y.re) (* x.im y.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.im x.im) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im)) |
| 7.0ms | y.im | @ | 0 | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (- x.im (/ (* (neg x.re) y.re) y.im)) x.im (/ (* (neg x.re) y.re) y.im) (* (neg x.re) y.re) (neg x.re) x.re y.re y.im (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.re y.re) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (* (/ y.re y.im) x.re) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (- (/ (* x.im y.im) y.re) (neg x.re)) (/ (* x.im y.im) y.re) (* x.im y.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.im x.im) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im)) |
| 3.0ms | y.re | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (- x.im (/ (* (neg x.re) y.re) y.im)) x.im (/ (* (neg x.re) y.re) y.im) (* (neg x.re) y.re) (neg x.re) x.re y.re y.im (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.re y.re) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (* (/ y.re y.im) x.re) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (- (/ (* x.im y.im) y.re) (neg x.re)) (/ (* x.im y.im) y.re) (* x.im y.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.im x.im) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im)) |
| 3.0ms | x.re | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (- x.im (/ (* (neg x.re) y.re) y.im)) x.im (/ (* (neg x.re) y.re) y.im) (* (neg x.re) y.re) (neg x.re) x.re y.re y.im (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.re y.re) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (* (/ y.re y.im) x.re) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (- (/ (* x.im y.im) y.re) (neg x.re)) (/ (* x.im y.im) y.re) (* x.im y.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.im x.im) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im)) |
| 3.0ms | y.im | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (- x.im (/ (* (neg x.re) y.re) y.im)) x.im (/ (* (neg x.re) y.re) y.im) (* (neg x.re) y.re) (neg x.re) x.re y.re y.im (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ x.re y.re) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (+ (* x.re (/ y.re y.im)) x.im) (* (/ y.re y.im) x.re) (/ y.re y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (- (/ (* x.im y.im) y.re) (neg x.re)) (/ (* x.im y.im) y.re) (* x.im y.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.im x.im) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 433 | 2399 |
| 0 | 459 | 2213 |
| 1 | 2948 | 2197 |
| 0 | 9215 | 2046 |
| 1 | 28292 | 2046 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im)) |
(/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im) |
(-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) |
x.im |
(/.f64 (*.f64 (neg.f64 x.re) y.re) y.im) |
(*.f64 (neg.f64 x.re) y.re) |
(neg.f64 x.re) |
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 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
(/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 (/.f64 y.re y.im) x.re) |
(/.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 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re)) |
(/.f64 (-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) y.re) |
(-.f64 (/.f64 (*.f64 x.im y.im) y.re) (neg.f64 x.re)) |
(/.f64 (*.f64 x.im y.im) y.re) |
(*.f64 x.im y.im) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
(*.f64 y.im x.im) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
(*.f64 y.im y.im) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 x.im)) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (+ x.im (/ (* x.re y.re) y.im)))) |
#s(approx (/ (* (neg x.re) y.re) y.im) #s(hole binary64 (* -1 (/ (* x.re y.re) y.im)))) |
#s(approx (* (neg x.re) y.re) #s(hole binary64 (* -1 (* x.re y.re)))) |
#s(approx (neg x.re) #s(hole binary64 (* -1 x.re))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (/ x.re y.re) #s(hole binary64 (/ x.re y.re))) |
#s(approx (* (/ y.re y.im) x.re) #s(hole binary64 (/ (* x.re y.re) y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (+ x.re (/ (* x.im y.im) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ (* x.re y.re) (pow y.im 2)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* x.re (+ (/ x.im (* x.re y.im)) (/ y.re (pow y.im 2)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* x.re (- (/ x.im x.re) (* -1 (/ y.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* x.re (+ (/ x.im x.re) (/ y.re y.im))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im (* x.re y.im))) (* -1 (/ y.re (pow y.im 2)))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ x.im x.re)) (/ y.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ x.im x.re)) (* -1 (/ y.re y.im))))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (- x.im (* -1 (/ (* x.re y.re) y.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* x.im (+ (/ 1 y.im) (/ (* x.re y.re) (* x.im (pow y.im 2))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* x.im (+ 1 (/ (* x.re y.re) (* x.im y.im)))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* x.im (+ (/ x.re x.im) (/ y.im y.re))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im (pow y.im 2)))) (/ 1 y.im)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* x.im (- (* -1 (/ (* x.re y.re) (* x.im y.im))) 1))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2)))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re x.im)) (* -1 (/ y.im y.re))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (/ y.re y.im) #s(hole binary64 (/ y.re y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.re 2)))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.re))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* y.re (+ (/ x.im (* y.im y.re)) (/ x.re (pow y.im 2)))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* y.re (- (/ x.im y.re) (* -1 (/ x.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* y.re (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.re 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im (* y.im y.re))) (* -1 (/ x.re (pow y.im 2)))))))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (* -1 (* y.re (- (* -1 (/ x.im y.re)) (/ x.re y.im)))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (* -1 (* y.re (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.im 2)))) |
#s(approx (- x.im (/ (* (neg x.re) y.re) y.im)) #s(hole binary64 (/ (- (* x.im y.im) (* -1 (* x.re y.re))) y.im))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re)))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* y.im (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re)))))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.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 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
(*.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 (neg.f64 y.im) (*.f64 (/.f64 y.re y.im) x.re))) (*.f64 (neg.f64 y.im) y.im)) |
(/.f64 (-.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 (neg.f64 y.im) (*.f64 (neg.f64 x.re) (/.f64 y.re y.im)))) (*.f64 (neg.f64 y.im) y.im)) |
(/.f64 (-.f64 (*.f64 y.im x.im) (*.f64 y.im (*.f64 (neg.f64 x.re) (/.f64 y.re y.im)))) (*.f64 y.im y.im)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im))) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im)) (neg.f64 y.im)) |
(/.f64 (*.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im) (*.f64 y.im y.im)) |
(/.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im) |
(fma.f64 x.im (/.f64 #s(literal 1 binary64) y.im) (/.f64 (*.f64 (/.f64 y.re y.im) x.re) y.im)) |
(-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 (neg.f64 x.re) (/.f64 y.re y.im)) y.im)) |
(+.f64 (/.f64 x.im y.im) (/.f64 (*.f64 (/.f64 y.re y.im) x.re) y.im)) |
(neg.f64 (-.f64 (*.f64 (neg.f64 x.re) (/.f64 y.re y.im)) x.im)) |
(fma.f64 (/.f64 y.re y.im) x.re x.im) |
(fma.f64 (*.f64 y.re x.re) (/.f64 #s(literal 1 binary64) y.im) x.im) |
(fma.f64 x.re (/.f64 y.re y.im) x.im) |
(-.f64 (*.f64 (/.f64 y.re y.im) x.re) (neg.f64 x.im)) |
(-.f64 x.im (*.f64 (neg.f64 x.re) (/.f64 y.re y.im))) |
(+.f64 (*.f64 (/.f64 y.re y.im) x.re) x.im) |
(+.f64 x.im (*.f64 #s(literal 1 binary64) (*.f64 (/.f64 y.re y.im) x.re))) |
(+.f64 x.im (neg.f64 (*.f64 (neg.f64 x.re) (/.f64 y.re y.im)))) |
(+.f64 x.im (*.f64 (/.f64 y.re y.im) x.re)) |
x.im |
(*.f64 (*.f64 (neg.f64 x.re) y.re) (/.f64 #s(literal 1 binary64) y.im)) |
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 (*.f64 (/.f64 y.re y.im) x.re) #s(literal -1 binary64)) |
(*.f64 (neg.f64 x.re) (/.f64 y.re y.im)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 (neg.f64 x.re) y.re))) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x.re) y.re)) (neg.f64 y.im)) |
(/.f64 (*.f64 (neg.f64 x.re) y.re) y.im) |
(neg.f64 (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 #s(literal -1 binary64) (*.f64 y.re x.re)) |
(*.f64 (neg.f64 x.re) y.re) |
(*.f64 (*.f64 y.re x.re) #s(literal -1 binary64)) |
(*.f64 y.re (neg.f64 x.re)) |
(neg.f64 (*.f64 y.re x.re)) |
(*.f64 #s(literal -1 binary64) x.re) |
(*.f64 x.re #s(literal -1 binary64)) |
(neg.f64 x.re) |
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 x.re y.re)) |
(*.f64 x.re (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 x.re) (neg.f64 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.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
(*.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)))) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re))) (neg.f64 y.im)) |
(/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) |
(*.f64 (/.f64 y.re y.im) x.re) |
(*.f64 (*.f64 y.re x.re) (/.f64 #s(literal 1 binary64) y.im)) |
(*.f64 x.re (/.f64 y.re y.im)) |
(/.f64 (neg.f64 (*.f64 (neg.f64 x.re) y.re)) (neg.f64 (neg.f64 y.im))) |
(/.f64 (*.f64 (neg.f64 x.re) y.re) (neg.f64 y.im)) |
(/.f64 (*.f64 y.re x.re) y.im) |
(*.f64 y.re (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.im))) |
(/.f64 (neg.f64 y.re) (neg.f64 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 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (fma.f64 (neg.f64 x.re) y.re (*.f64 (neg.f64 y.re) (/.f64 (*.f64 y.im x.im) y.re))) (*.f64 (neg.f64 y.re) y.re)) |
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 y.im x.im) y.re) y.re) (*.f64 (neg.f64 x.re) y.re)) (*.f64 y.re y.re)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re))) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re)) (neg.f64 y.re)) |
(/.f64 (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) (*.f64 y.re y.re)) |
(/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) |
(fma.f64 x.re (/.f64 #s(literal 1 binary64) y.re) (/.f64 (/.f64 (*.f64 y.im x.im) y.re) y.re)) |
(-.f64 (/.f64 (/.f64 (*.f64 y.im x.im) y.re) y.re) (/.f64 (neg.f64 x.re) y.re)) |
(+.f64 (/.f64 x.re y.re) (/.f64 (/.f64 (*.f64 y.im x.im) y.re) y.re)) |
(neg.f64 (-.f64 (neg.f64 x.re) (/.f64 (*.f64 y.im x.im) y.re))) |
(fma.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re) (neg.f64 (neg.f64 x.re))) |
(fma.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re) x.re) |
(fma.f64 x.im (/.f64 y.im y.re) (neg.f64 (neg.f64 x.re))) |
(fma.f64 x.im (/.f64 y.im y.re) x.re) |
(-.f64 (/.f64 (*.f64 y.im x.im) y.re) (neg.f64 x.re)) |
(-.f64 x.re (neg.f64 (/.f64 (*.f64 y.im x.im) y.re))) |
(+.f64 (/.f64 (*.f64 y.im x.im) y.re) (neg.f64 (neg.f64 x.re))) |
(+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) |
(+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) |
(*.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re)) |
(*.f64 x.im (/.f64 y.im y.re)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 y.im x.im))) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (*.f64 y.im x.im)) (neg.f64 y.re)) |
(/.f64 (*.f64 y.im x.im) y.re) |
(*.f64 y.im x.im) |
(*.f64 x.im y.im) |
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 #s(literal 1 binary64) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(/.f64 (fma.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) (*.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) (*.f64 y.im x.im))) (*.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (neg.f64 (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))))) |
(/.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(+.f64 (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) (/.f64 (*.f64 y.im x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(neg.f64 (-.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 y.im x.im))) |
(fma.f64 y.im x.im (*.f64 #s(literal 1 binary64) (*.f64 y.re x.re))) |
(fma.f64 y.im x.im (neg.f64 (*.f64 (neg.f64 x.re) y.re))) |
(fma.f64 y.im x.im (*.f64 y.re x.re)) |
(fma.f64 x.im y.im (*.f64 #s(literal 1 binary64) (*.f64 y.re x.re))) |
(fma.f64 x.im y.im (neg.f64 (*.f64 (neg.f64 x.re) y.re))) |
(fma.f64 x.im y.im (*.f64 y.re x.re)) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
(fma.f64 x.re y.re (*.f64 y.im x.im)) |
(-.f64 (*.f64 y.im x.im) (*.f64 (neg.f64 x.re) y.re)) |
(-.f64 (*.f64 y.re x.re) (*.f64 (neg.f64 x.im) y.im)) |
(-.f64 (*.f64 y.re x.re) (*.f64 (neg.f64 y.im) x.im)) |
(-.f64 (*.f64 y.re x.re) (neg.f64 (*.f64 y.im x.im))) |
(+.f64 (*.f64 y.im x.im) (*.f64 #s(literal 1 binary64) (*.f64 y.re x.re))) |
(+.f64 (*.f64 y.im x.im) (neg.f64 (*.f64 (neg.f64 x.re) y.re))) |
(+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) |
(+.f64 (*.f64 y.re x.re) (*.f64 y.im x.im)) |
(*.f64 y.im x.im) |
(*.f64 x.im y.im) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
(*.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im))) |
(*.f64 (fabs.f64 y.im) (fabs.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 y.im)) |
(*.f64 y.im y.im) |
(pow.f64 (fabs.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 y.im #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) |
(fabs.f64 (neg.f64 (*.f64 y.im y.im))) |
(fabs.f64 (*.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 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (/.f64 x.im y.im)) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) x.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (fma.f64 (/.f64 y.re y.im) x.re x.im)) |
#s(approx (/ (* (neg x.re) y.re) y.im) (*.f64 (neg.f64 x.re) (/.f64 y.re y.im))) |
#s(approx (* (neg x.re) y.re) (*.f64 (neg.f64 x.re) y.re)) |
#s(approx (neg x.re) (neg.f64 x.re)) |
#s(approx x.re x.re) |
#s(approx (/ x.re y.re) (/.f64 x.re y.re)) |
#s(approx (* (/ y.re y.im) x.re) (*.f64 (/.f64 y.re y.im) x.re)) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (fma.f64 x.im (/.f64 y.im y.re) x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.im x.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)) (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re)))) x.re)) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 y.re (*.f64 y.im y.im)))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (+.f64 (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im (*.f64 y.im x.re))) x.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)) x.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.im x.re) (/.f64 y.re y.im)) x.re)) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re)) x.re)) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re x.re)) #s(literal 1 binary64)) x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.re) (+.f64 (neg.f64 (*.f64 x.im (/.f64 y.im (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))) (/.f64 (neg.f64 y.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (neg.f64 x.re) (+.f64 (/.f64 (neg.f64 y.re) (*.f64 y.im y.im)) (/.f64 (neg.f64 x.im) (*.f64 y.im x.re))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 x.re) (-.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 y.re y.im)))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 x.re) (-.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 y.re y.im)))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (neg.f64 x.re) (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (neg.f64 x.re) (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re x.re)) #s(literal 1 binary64))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.re) (+.f64 (neg.f64 y.re) (neg.f64 (/.f64 (*.f64 y.im x.im) x.re))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (fma.f64 (/.f64 y.re y.im) x.re x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.re (/.f64 y.re (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.im)) (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re)))) x.im)) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (fma.f64 x.re (/.f64 y.re (*.f64 (*.f64 y.im y.im) x.im)) (/.f64 #s(literal 1 binary64) y.im)) x.im)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (fma.f64 x.re (/.f64 y.re (*.f64 y.im x.im)) #s(literal 1 binary64)) x.im)) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (+.f64 (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re (*.f64 x.im y.re))) x.im)) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (+.f64 (/.f64 y.im y.re) (/.f64 x.re x.im)) x.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.im)) (/.f64 (neg.f64 y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (neg.f64 x.im) (neg.f64 (fma.f64 x.re (/.f64 y.re (*.f64 (*.f64 y.im y.im) x.im)) (/.f64 #s(literal 1 binary64) y.im))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 x.im) (neg.f64 (fma.f64 x.re (/.f64 y.re (*.f64 y.im x.im)) #s(literal 1 binary64))))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 (neg.f64 y.im) (*.f64 y.re y.re)) (/.f64 (neg.f64 x.re) (*.f64 x.im y.re))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 (neg.f64 y.im) y.re) (/.f64 (neg.f64 x.re) x.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.im) (+.f64 (neg.f64 y.im) (/.f64 (*.f64 (neg.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))) (fma.f64 (+.f64 (/.f64 x.re (*.f64 y.im y.im)) (neg.f64 (*.f64 x.im (/.f64 y.re (*.f64 (*.f64 y.im y.im) 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))) (fma.f64 (fma.f64 (-.f64 (/.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) (/.f64 x.im (*.f64 (*.f64 y.im y.im) y.im))) y.re (/.f64 x.re (*.f64 y.im y.im))) y.re (/.f64 x.im y.im))) |
#s(approx y.re y.re) |
#s(approx (/ y.re y.im) (/.f64 y.re y.im)) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (*.f64 y.re y.re))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.im (/.f64 y.im y.re) (/.f64 (*.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (*.f64 y.re y.re))) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 x.im (/.f64 y.im y.re) (neg.f64 (*.f64 x.im (/.f64 (*.f64 (*.f64 y.im y.im) y.im) (*.f64 (*.f64 y.re y.re) y.re))))) x.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))) y.re)) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (+.f64 (/.f64 x.im (*.f64 y.im y.re)) (/.f64 x.re (*.f64 y.im y.im))) y.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.re y.im) (/.f64 x.im y.re)) y.re)) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (+.f64 (/.f64 x.re y.im) (/.f64 x.im y.re)) y.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 y.im y.re) #s(literal 1 binary64)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.im y.im) y.im) x.im) y.re) (*.f64 (neg.f64 x.re) (*.f64 y.im y.im))) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 (neg.f64 y.re) (+.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (/.f64 (neg.f64 x.im) (*.f64 y.im y.re))))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 y.re) (-.f64 (/.f64 (neg.f64 x.im) y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (neg.f64 y.re) (-.f64 (/.f64 (neg.f64 x.im) y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.re) (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 (+.f64 (/.f64 x.im (*.f64 y.re y.re)) (neg.f64 (*.f64 x.re (/.f64 y.im (*.f64 (*.f64 y.re y.re) y.re))))) 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))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re)))) (/.f64 x.re (*.f64 (*.f64 y.re y.re) y.re))) y.im (/.f64 x.im (*.f64 y.re y.re))) y.im (/.f64 x.re y.re))) |
#s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (*.f64 y.im y.im))) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) y.im)) |
#s(approx y.im y.im) |
#s(approx (+ (* x.re (/ y.re y.im)) x.im) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (fma.f64 (/.f64 y.re y.im) x.re (/.f64 (*.f64 (neg.f64 x.im) (*.f64 y.re y.re)) (*.f64 y.im y.im))) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 y.re y.im) x.re (neg.f64 (*.f64 x.re (/.f64 (*.f64 (*.f64 y.re y.re) y.re) (*.f64 (*.f64 y.im y.im) y.im))))) x.im) (/.f64 (*.f64 (*.f64 y.re y.re) x.im) (*.f64 y.im y.im))) y.im)) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (+.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (*.f64 y.re y.re))) y.im)) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (+.f64 (/.f64 x.re y.im) (/.f64 x.im y.re)) y.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) x.re x.im) y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 y.re y.im) #s(literal 1 binary64)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (fma.f64 (neg.f64 x.re) (/.f64 y.re y.im) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (*.f64 (*.f64 y.re y.re) x.im) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.re y.re) y.re) x.re) y.im) (*.f64 (neg.f64 x.im) (*.f64 y.re y.re))) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 (neg.f64 y.im) (+.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.re)) (/.f64 (neg.f64 x.im) (*.f64 y.re y.re))))) |
#s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (*.f64 (neg.f64 y.im) (-.f64 (/.f64 (neg.f64 x.im) y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.im) (fma.f64 (neg.f64 x.re) (/.f64 y.re y.im) (neg.f64 x.im)))) |
Compiled 1 810 to 853 computations (52.9% saved)
20 alts after pruning (13 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 194 | 7 | 201 |
| Fresh | 5 | 6 | 11 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 3 | 3 |
| Total | 200 | 20 | 220 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 34.9% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
| ✓ | 38.0% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
| ▶ | 23.4% | (/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
| ✓ | 51.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
| ✓ | 56.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
| ▶ | 51.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
| ✓ | 56.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im)) |
| ▶ | 50.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re)) |
| 20.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) | |
| 25.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re x.re) y.im)) y.im)) | |
| ✓ | 25.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
| ✓ | 41.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| ✓ | 41.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 51.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.f64 #s(literal 1 binary64) y.re))) | |
| 44.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 (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| 40.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| ▶ | 41.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 #s(literal 1 binary64) y.im))) |
| 51.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) | |
| 19.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) | |
| 23.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 y.re (*.f64 y.im y.im))))) |
Compiled 549 to 545 computations (0.7% saved)
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) |
(fma.f64 x.im (/.f64 y.im y.re) x.re) |
x.im |
(/.f64 y.im y.re) |
y.im |
y.re |
x.re |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 #s(literal 1 binary64) y.im))) |
(*.f64 x.im (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) |
(*.f64 y.re x.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.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 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re)) |
(/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re) |
(+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) |
(/.f64 (*.f64 y.im x.im) y.re) |
(*.f64 y.im x.im) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) |
(*.f64 y.re y.re) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (+ x.re (/ (* x.im y.im) y.re)))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (* y.re x.re) #s(hole binary64 (* x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ x.re y.re))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx x.im #s(hole binary64 x.im)) |
#s(approx (* x.im (/ 1 y.im)) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* x.im (+ (/ x.re x.im) (/ y.im y.re))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2)))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re x.im)) (* -1 (/ y.im y.re))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.re 2)))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.re))) |
#s(approx (/ y.im y.re) #s(hole binary64 (/ y.im y.re))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ 1 y.im) #s(hole binary64 (/ 1 y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* y.im (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re)))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.re y.re) y.im))))))) |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 19.0ms | x.im | @ | 0 | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (+ (* x.im (/ y.im y.re)) x.re) x.im (/ y.im y.re) y.im y.re x.re (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (* x.im (/ 1 y.im)) (/ 1 y.im) 1 (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.re x.re) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (/ (* y.im x.im) y.re) x.re) y.re) (+ (/ (* y.im x.im) y.re) x.re) (/ (* y.im x.im) y.re) (* y.im x.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re)) |
| 3.0ms | y.im | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (+ (* x.im (/ y.im y.re)) x.re) x.im (/ y.im y.re) y.im y.re x.re (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (* x.im (/ 1 y.im)) (/ 1 y.im) 1 (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.re x.re) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (/ (* y.im x.im) y.re) x.re) y.re) (+ (/ (* y.im x.im) y.re) x.re) (/ (* y.im x.im) y.re) (* y.im x.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re)) |
| 2.0ms | x.im | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (+ (* x.im (/ y.im y.re)) x.re) x.im (/ y.im y.re) y.im y.re x.re (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (* x.im (/ 1 y.im)) (/ 1 y.im) 1 (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.re x.re) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (/ (* y.im x.im) y.re) x.re) y.re) (+ (/ (* y.im x.im) y.re) x.re) (/ (* y.im x.im) y.re) (* y.im x.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re)) |
| 2.0ms | y.re | @ | -inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (+ (* x.im (/ y.im y.re)) x.re) x.im (/ y.im y.re) y.im y.re x.re (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (* x.im (/ 1 y.im)) (/ 1 y.im) 1 (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.re x.re) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (/ (* y.im x.im) y.re) x.re) y.re) (+ (/ (* y.im x.im) y.re) x.re) (/ (* y.im x.im) y.re) (* y.im x.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re)) |
| 2.0ms | y.im | @ | inf | ((/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (+ (* x.im (/ y.im y.re)) x.re) x.im (/ y.im y.re) y.im y.re x.re (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (* x.im (/ 1 y.im)) (/ 1 y.im) 1 (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (* y.re x.re) (+ (* y.re y.re) (* y.im y.im)) (* y.im y.im) (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/ (+ (/ (* y.im x.im) y.re) x.re) y.re) (+ (/ (* y.im x.im) y.re) x.re) (/ (* y.im x.im) y.re) (* y.im x.im) (/ (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im))) (+ (* y.re x.re) (* y.im x.im)) (+ (* y.re y.re) (* y.im y.im)) (* y.re y.re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 340 | 1806 |
| 0 | 358 | 1687 |
| 1 | 2377 | 1643 |
| 0 | 9604 | 1561 |
| 1 | 32316 | 1561 |
| 1× | saturated |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re) |
(fma.f64 x.im (/.f64 y.im y.re) x.re) |
x.im |
(/.f64 y.im y.re) |
y.im |
y.re |
x.re |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 #s(literal 1 binary64) y.im))) |
(*.f64 x.im (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) |
(*.f64 y.re x.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.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 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re)) |
(/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re) |
(+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) |
(/.f64 (*.f64 y.im x.im) y.re) |
(*.f64 y.im x.im) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) |
(*.f64 y.re y.re) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ (* x.im y.im) (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ (* x.im y.im) (pow y.re 2)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (+ (/ x.re y.re) (/ (* x.im y.im) (pow y.re 2))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (/ (* x.im y.im) y.re))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (+ x.re (/ (* x.im y.im) y.re)))) |
#s(approx x.re #s(hole binary64 x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (+ (* x.im y.im) (* x.re y.re)))) |
#s(approx (* y.re x.re) #s(hole binary64 (* x.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (* x.re y.re) (+ (pow y.im 2) (pow y.re 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.re (+ (/ y.re (+ (pow y.im 2) (pow y.re 2))) (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ x.re y.re))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* x.re (+ (/ 1 y.re) (/ (* x.im y.im) (* x.re (pow y.re 2))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* x.re (+ 1 (/ (* x.im y.im) (* x.re y.re)))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.re (+ y.re (/ (* x.im y.im) x.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.re (+ (* -1 (/ y.re (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.im y.im) (* x.re (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re (pow y.re 2)))) (/ 1 y.re)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* x.re (- (* -1 (/ (* x.im y.im) (* x.re y.re))) 1))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.re (+ (* -1 y.re) (* -1 (/ (* x.im y.im) x.re))))))) |
#s(approx x.im #s(hole binary64 x.im)) |
#s(approx (* x.im (/ 1 y.im)) #s(hole binary64 (/ x.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* x.im (+ (/ y.im (+ (pow y.im 2) (pow y.re 2))) (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* x.im (+ (/ x.re (* x.im y.re)) (/ y.im (pow y.re 2)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* x.im (+ (/ x.re x.im) (/ y.im y.re))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* x.im (+ y.im (/ (* x.re y.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ y.im (+ (pow y.im 2) (pow y.re 2)))) (* -1 (/ (* x.re y.re) (* x.im (+ (pow y.im 2) (pow y.re 2)))))))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re (* x.im y.re))) (* -1 (/ y.im (pow y.re 2)))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* x.im (+ (* -1 (/ x.re x.im)) (* -1 (/ y.im y.re))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* x.im (+ (* -1 y.im) (* -1 (/ (* x.re y.re) x.im))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (/ x.im y.im) (/ (* x.re y.re) (pow y.im 2))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* -1 (/ (* x.im y.re) (pow y.im 3))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.re (+ (* y.re (- (* -1 (/ (* x.re y.re) (pow y.im 4))) (/ x.im (pow y.im 3)))) (/ x.re (pow y.im 2)))) (/ x.im y.im)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) (pow y.re 2)))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (/ (+ (* x.im y.im) (* x.re y.re)) y.re))) |
#s(approx (/ y.im y.re) #s(hole binary64 (/ y.im y.re))) |
#s(approx y.re #s(hole binary64 y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (pow y.im 2))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (+ (pow y.im 2) (pow y.re 2)))) |
#s(approx (* y.re y.re) #s(hole binary64 (pow y.re 2))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.re (/ (* 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))) #s(hole binary64 (/ (+ x.re (+ (* -1 (/ (* x.re (pow y.im 2)) (pow y.re 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.re (+ (* -1 (/ (* x.im (pow y.im 3)) (pow y.re 3))) (/ (* x.im y.im) y.re))) (/ (* x.re (pow y.im 2)) (pow y.re 2))) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.re (+ x.re (/ (* x.im y.im) y.re))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.re 2) (+ 1 (/ (pow y.im 2) (pow y.re 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (* x.re (pow y.im 2)) y.re)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.re) (* -1 (/ (+ (* -1 (/ (- (/ (* x.im (pow y.im 3)) y.re) (* -1 (* x.re (pow y.im 2)))) y.re)) (* x.im y.im)) y.re))) y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.re (+ (* -1 x.re) (* -1 (/ (* x.im y.im) y.re))))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* -1 (/ (* x.re y.im) (pow y.re 3))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (+ (* y.im (+ (* y.im (- (* -1 (/ (* x.im y.im) (pow y.re 4))) (/ x.re (pow y.re 3)))) (/ x.im (pow y.re 2)))) (/ x.re y.re)))) |
#s(approx y.im #s(hole binary64 y.im)) |
#s(approx (/ 1 y.im) #s(hole binary64 (/ 1 y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (/ (+ x.im (/ (* 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))) #s(hole binary64 (/ (+ x.im (+ (* -1 (/ (* x.im (pow y.re 2)) (pow y.im 2))) (/ (* 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))) #s(hole binary64 (/ (- (+ x.im (+ (* -1 (/ (* x.re (pow y.re 3)) (pow y.im 3))) (/ (* x.re y.re) y.im))) (/ (* x.im (pow y.re 2)) (pow y.im 2))) y.im))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* y.im (+ (/ x.im (pow y.re 2)) (/ x.re (* y.im y.re)))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* y.im (+ (/ x.im y.re) (/ x.re y.im))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* y.im (+ x.im (/ (* x.re y.re) y.im))))) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) #s(hole binary64 (* (pow y.im 2) (+ 1 (/ (pow y.re 2) (pow y.im 2)))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (* x.im (pow y.re 2)) y.im)) (* 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))) #s(hole binary64 (* -1 (/ (+ (* -1 x.im) (* -1 (/ (+ (* -1 (/ (- (/ (* x.re (pow y.re 3)) y.im) (* -1 (* x.im (pow y.re 2)))) y.im)) (* x.re y.re)) y.im))) y.im)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im (pow y.re 2))) (* -1 (/ x.re (* y.im y.re)))))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) #s(hole binary64 (* -1 (* y.im (+ (* -1 (/ x.im y.re)) (* -1 (/ x.re y.im))))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) #s(hole binary64 (* -1 (* y.im (+ (* -1 x.im) (* -1 (/ (* x.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 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re)) |
(*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (fma.f64 (*.f64 (/.f64 y.im y.re) x.im) (neg.f64 y.re) (*.f64 y.re (neg.f64 x.re))) (*.f64 y.re (neg.f64 y.re))) |
(/.f64 (fma.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re (*.f64 y.re x.re)) (*.f64 y.re y.re)) |
(/.f64 (fma.f64 (neg.f64 x.re) y.re (*.f64 (neg.f64 y.re) (*.f64 (/.f64 y.im y.re) x.im))) (*.f64 (neg.f64 y.re) y.re)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re))) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re)) (neg.f64 y.re)) |
(/.f64 (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re) (*.f64 y.re y.re)) |
(/.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re) |
(fma.f64 (/.f64 x.re #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 #s(literal -1 binary64) y.re) (/.f64 x.re #s(literal -1 binary64)) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 x.re y.re) #s(literal 1 binary64) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 #s(literal 1 binary64) (/.f64 x.re y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 x.re (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(-.f64 (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re) (/.f64 (neg.f64 x.re) y.re)) |
(-.f64 (/.f64 x.re y.re) (/.f64 (neg.f64 (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
(+.f64 (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re) (/.f64 x.re y.re)) |
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 y.im y.re) x.im x.re) |
(fma.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re) x.re) |
(fma.f64 y.im (/.f64 x.im y.re) x.re) |
(fma.f64 x.im (/.f64 y.im y.re) x.re) |
(-.f64 (*.f64 (/.f64 y.im y.re) x.im) (neg.f64 x.re)) |
(-.f64 x.re (neg.f64 (*.f64 (/.f64 y.im y.re) x.im))) |
(+.f64 (*.f64 (/.f64 y.im y.re) x.im) x.re) |
(+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) |
x.im |
(*.f64 (/.f64 y.im #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) y.re)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.re) (/.f64 y.im #s(literal -1 binary64))) |
(*.f64 (/.f64 y.im y.re) #s(literal 1 binary64)) |
(*.f64 #s(literal 1 binary64) (/.f64 y.im y.re)) |
(*.f64 y.im (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 y.im)) (*.f64 #s(literal 2 binary64) (neg.f64 y.re))) |
(/.f64 (*.f64 #s(literal 2 binary64) y.im) (*.f64 #s(literal 2 binary64) y.re)) |
(/.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 y.im) (neg.f64 y.re)) |
(/.f64 y.im y.re) |
y.im |
y.re |
x.re |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
(*.f64 (/.f64 #s(literal -1 binary64) y.im) (/.f64 x.im #s(literal -1 binary64))) |
(*.f64 (/.f64 x.im #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) y.im)) |
(*.f64 (/.f64 x.im y.im) #s(literal 1 binary64)) |
(*.f64 (/.f64 #s(literal 1 binary64) y.im) x.im) |
(*.f64 #s(literal 1 binary64) (/.f64 x.im y.im)) |
(*.f64 x.im (/.f64 #s(literal 1 binary64) y.im)) |
(/.f64 (neg.f64 (*.f64 x.im #s(literal 1 binary64))) (neg.f64 y.im)) |
(/.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 (neg.f64 y.im))) |
(/.f64 (*.f64 x.im #s(literal 1 binary64)) y.im) |
(/.f64 (neg.f64 x.im) (neg.f64 y.im)) |
(/.f64 x.im y.im) |
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) y.im)) |
(pow.f64 y.im #s(literal -1 binary64)) |
(/.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 y.im))) |
(/.f64 #s(literal -1 binary64) (neg.f64 y.im)) |
(/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) y.im)) |
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 y.im))) |
(/.f64 #s(literal 1 binary64) y.im) |
#s(literal 1 binary64) |
(*.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) (/.f64 #s(literal 1 binary64) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)))) (neg.f64 (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))))) |
(/.f64 (neg.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re))) (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) |
(*.f64 y.re x.re) |
(*.f64 x.re y.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
(*.f64 (fabs.f64 (fabs.f64 y.im)) (fabs.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (fabs.f64 y.im)) (neg.f64 (fabs.f64 y.im))) |
(*.f64 (neg.f64 (neg.f64 y.im)) (neg.f64 (neg.f64 y.im))) |
(*.f64 (fabs.f64 y.im) (fabs.f64 y.im)) |
(*.f64 (neg.f64 y.im) (neg.f64 y.im)) |
(*.f64 y.im y.im) |
(pow.f64 (fabs.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.im)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.im) #s(literal 2 binary64)) |
(pow.f64 y.im #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im))) |
(fabs.f64 (neg.f64 (*.f64 y.im y.im))) |
(fabs.f64 (*.f64 y.im y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re)) |
(*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.f64 #s(literal 1 binary64) y.re)) |
(/.f64 (fma.f64 (*.f64 (/.f64 y.im y.re) x.im) (neg.f64 y.re) (*.f64 y.re (neg.f64 x.re))) (*.f64 y.re (neg.f64 y.re))) |
(/.f64 (fma.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re (*.f64 y.re x.re)) (*.f64 y.re y.re)) |
(/.f64 (fma.f64 (neg.f64 x.re) y.re (*.f64 (neg.f64 y.re) (*.f64 (/.f64 y.im y.re) x.im))) (*.f64 (neg.f64 y.re) y.re)) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re))) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re)) (neg.f64 y.re)) |
(/.f64 (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re) (*.f64 y.re y.re)) |
(/.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re) |
(fma.f64 (/.f64 x.re #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 #s(literal -1 binary64) y.re) (/.f64 x.re #s(literal -1 binary64)) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 x.re y.re) #s(literal 1 binary64) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 #s(literal 1 binary64) (/.f64 x.re y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 x.re (/.f64 #s(literal 1 binary64) y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(-.f64 (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re) (/.f64 (neg.f64 x.re) y.re)) |
(-.f64 (/.f64 x.re y.re) (/.f64 (neg.f64 (*.f64 (/.f64 y.im y.re) x.im)) y.re)) |
(+.f64 (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re) (/.f64 x.re y.re)) |
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 (/.f64 y.im y.re) x.im) y.re)) |
(fma.f64 (/.f64 y.im y.re) x.im x.re) |
(fma.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re) x.re) |
(fma.f64 y.im (/.f64 x.im y.re) x.re) |
(fma.f64 x.im (/.f64 y.im y.re) x.re) |
(-.f64 (*.f64 (/.f64 y.im y.re) x.im) (neg.f64 x.re)) |
(-.f64 x.re (neg.f64 (*.f64 (/.f64 y.im y.re) x.im))) |
(+.f64 (*.f64 (/.f64 y.im y.re) x.im) x.re) |
(+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) |
(*.f64 (/.f64 y.im y.re) x.im) |
(*.f64 (*.f64 y.im x.im) (/.f64 #s(literal 1 binary64) y.re)) |
(*.f64 y.im (/.f64 x.im y.re)) |
(*.f64 x.im (/.f64 y.im y.re)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 y.im x.im))) (neg.f64 (neg.f64 y.re))) |
(/.f64 (neg.f64 (*.f64 y.im x.im)) (neg.f64 y.re)) |
(/.f64 (*.f64 y.im x.im) y.re) |
(*.f64 y.im x.im) |
(*.f64 x.im y.im) |
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 #s(literal 1 binary64) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) (*.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) (*.f64 y.im x.im))) (*.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(/.f64 (neg.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (neg.f64 (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))))) |
(/.f64 (neg.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (neg.f64 #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
(-.f64 (/.f64 (*.f64 y.im x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (*.f64 (neg.f64 x.re) y.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(-.f64 (/.f64 (*.f64 y.im x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (neg.f64 (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(-.f64 (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (*.f64 (neg.f64 y.im) x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(-.f64 (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (*.f64 (neg.f64 x.im) y.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(-.f64 (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (neg.f64 (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(+.f64 (/.f64 (*.f64 y.im x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(+.f64 (/.f64 (*.f64 y.re x.re) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) (/.f64 (*.f64 y.im x.im) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)))) |
(fma.f64 y.im x.im (*.f64 y.re x.re)) |
(fma.f64 x.im y.im (*.f64 y.re x.re)) |
(fma.f64 y.re x.re (*.f64 y.im x.im)) |
(fma.f64 x.re y.re (*.f64 y.im x.im)) |
(-.f64 (*.f64 y.im x.im) (*.f64 (neg.f64 x.re) y.re)) |
(-.f64 (*.f64 y.im x.im) (neg.f64 (*.f64 y.re x.re))) |
(-.f64 (*.f64 y.re x.re) (*.f64 (neg.f64 y.im) x.im)) |
(-.f64 (*.f64 y.re x.re) (*.f64 (neg.f64 x.im) y.im)) |
(-.f64 (*.f64 y.re x.re) (neg.f64 (*.f64 y.im x.im))) |
(+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) |
(+.f64 (*.f64 y.re x.re) (*.f64 y.im x.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re)) |
(*.f64 (fabs.f64 (fabs.f64 y.re)) (fabs.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (fabs.f64 y.re)) (neg.f64 (fabs.f64 y.re))) |
(*.f64 (neg.f64 (neg.f64 y.re)) (neg.f64 (neg.f64 y.re))) |
(*.f64 (fabs.f64 y.re) (fabs.f64 y.re)) |
(*.f64 (neg.f64 y.re) (neg.f64 y.re)) |
(*.f64 y.re y.re) |
(pow.f64 (fabs.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (fabs.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 (neg.f64 y.re)) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 y.re) #s(literal 2 binary64)) |
(pow.f64 y.re #s(literal 2 binary64)) |
(sqrt.f64 (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re))) |
(fabs.f64 (neg.f64 (*.f64 y.re y.re))) |
(fabs.f64 (*.f64 y.re y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (/.f64 y.im y.re) x.im)) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (fma.f64 (/.f64 y.im y.re) x.im x.re)) |
#s(approx x.re x.re) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.im x.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (fma.f64 y.im x.im (*.f64 y.re x.re))) |
#s(approx (* y.re x.re) (*.f64 y.re x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.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 x.im (/.f64 y.im x.re) y.re) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (/.f64 x.re y.re)) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re)) x.re)) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re x.re)) #s(literal 1 binary64)) x.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) x.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.re) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.im (/.f64 y.im x.re) y.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (neg.f64 x.re) (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 (*.f64 y.re y.re) x.re)) (/.f64 #s(literal 1 binary64) y.re))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (neg.f64 x.re) (neg.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re x.re)) #s(literal 1 binary64))))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.re) (+.f64 (neg.f64 y.re) (neg.f64 (/.f64 (*.f64 y.im x.im) x.re))))) |
#s(approx x.im x.im) |
#s(approx (* x.im (/ 1 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 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (+.f64 (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re (*.f64 x.im y.re))) x.im)) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (+.f64 (/.f64 x.re x.im) (/.f64 y.im y.re)) x.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (neg.f64 x.im) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (neg.f64 x.im) (+.f64 (/.f64 (neg.f64 y.im) (*.f64 y.re y.re)) (/.f64 (neg.f64 x.re) (*.f64 x.im y.re))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (neg.f64 x.im) (-.f64 (/.f64 (neg.f64 x.re) x.im) (/.f64 y.im y.re)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 x.im) (+.f64 (neg.f64 y.im) (neg.f64 (/.f64 (*.f64 y.re x.re) x.im))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.re (/.f64 y.re (*.f64 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))) (fma.f64 (+.f64 (/.f64 x.re (*.f64 y.im y.im)) (neg.f64 (*.f64 x.im (/.f64 y.re (*.f64 (*.f64 y.im y.im) 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))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) (*.f64 (*.f64 y.im y.im) (*.f64 y.im y.im)))) (/.f64 x.im (*.f64 (*.f64 y.im y.im) y.im))) y.re (/.f64 x.re (*.f64 y.im y.im))) y.re (/.f64 x.im y.im))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (*.f64 y.re y.re))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) y.re)) |
#s(approx (/ y.im y.re) (/.f64 y.im y.re)) |
#s(approx y.re y.re) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (* y.re y.re) (*.f64 y.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 y.im y.re) x.im 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 y.im y.re) x.im (/.f64 (*.f64 (neg.f64 x.re) (*.f64 y.im y.im)) (*.f64 y.re y.re))) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 (/.f64 y.im y.re) x.im (neg.f64 (*.f64 x.im (/.f64 (*.f64 (*.f64 y.im y.im) y.im) (*.f64 (*.f64 y.re y.re) y.re))))) x.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))) y.re)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) y.re)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 y.im y.re) #s(literal 1 binary64)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 (/.f64 y.im y.re) x.im)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.im x.im (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.im y.im) y.im) x.im) y.re) (*.f64 (neg.f64 x.re) (*.f64 y.im y.im))) y.re))) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.re) (+.f64 (neg.f64 (*.f64 (/.f64 y.im y.re) x.im)) (neg.f64 x.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 (+.f64 (/.f64 x.im (*.f64 y.re y.re)) (neg.f64 (*.f64 x.re (/.f64 y.im (*.f64 (*.f64 y.re y.re) y.re))))) 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))) (fma.f64 (fma.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (*.f64 y.re y.re) (*.f64 y.re y.re)))) (/.f64 x.re (*.f64 (*.f64 y.re y.re) y.re))) y.im (/.f64 x.im (*.f64 y.re y.re))) y.im (/.f64 x.re y.re))) |
#s(approx y.im y.im) |
#s(approx (/ 1 y.im) (/.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 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (fma.f64 x.re (/.f64 y.re y.im) (/.f64 (*.f64 (neg.f64 x.im) (*.f64 y.re y.re)) (*.f64 y.im y.im))) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (-.f64 (+.f64 (fma.f64 x.re (/.f64 y.re y.im) (neg.f64 (*.f64 x.re (/.f64 (*.f64 (*.f64 y.re y.re) y.re) (*.f64 (*.f64 y.im y.im) y.im))))) x.im) (/.f64 (*.f64 (*.f64 y.re y.re) x.im) (*.f64 y.im y.im))) y.im)) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (+.f64 (/.f64 x.re (*.f64 y.im y.re)) (/.f64 x.im (*.f64 y.re y.re))) y.im)) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (+.f64 (/.f64 x.re y.im) (/.f64 x.im y.re)) y.im)) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 y.re y.im) #s(literal 1 binary64)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (*.f64 (*.f64 y.re y.re) x.im) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (neg.f64 (/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (*.f64 y.re y.re) y.re) x.re) y.im) (*.f64 (neg.f64 x.im) (*.f64 y.re y.re))) y.im))) y.im)) (neg.f64 x.im)) y.im))) |
#s(approx (/ (+ (* x.im (/ y.im y.re)) x.re) y.re) (*.f64 (neg.f64 y.im) (+.f64 (/.f64 (neg.f64 x.re) (*.f64 y.im y.re)) (/.f64 (neg.f64 x.im) (*.f64 y.re y.re))))) |
#s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (neg.f64 y.im) (-.f64 (/.f64 (neg.f64 x.im) y.re) (/.f64 x.re y.im)))) |
#s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 (neg.f64 y.im) (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)))) |
Compiled 1 562 to 725 computations (53.6% saved)
19 alts after pruning (9 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 180 | 4 | 184 |
| Fresh | 3 | 5 | 8 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 7 | 7 |
| Total | 185 | 19 | 204 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 34.9% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
| ✓ | 38.0% | (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
| 41.7% | (/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) | |
| ✓ | 23.4% | (/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
| ✓ | 51.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (fma.f64 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
| 51.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) | |
| ✓ | 56.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) 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 (-.f64 x.im (/.f64 (*.f64 (neg.f64 x.re) y.re) y.im)) y.im)) |
| 20.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (- (/ (* x.im y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) | |
| 25.3% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re x.re) y.im)) y.im)) | |
| ✓ | 25.9% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.re)) y.im)) |
| 21.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 #s(approx (+ (* x.im (/ y.im y.re)) x.re) (*.f64 (/.f64 y.im y.re) x.im)) y.re)) | |
| ✓ | 41.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.re y.re)) |
| ✓ | 41.8% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 x.im y.im)) |
| 51.7% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.f64 #s(literal 1 binary64) y.re))) | |
| 40.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) | |
| ✓ | 41.6% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 #s(literal 1 binary64) y.im))) |
| 19.2% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) | |
| 23.5% | #s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 y.re (*.f64 y.im y.im))))) |
Compiled 638 to 481 computations (24.6% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) 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 (neg.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 (*.f64 x.im y.im) y.re) (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 (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.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))) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.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))) (*.f64 (/.f64 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) 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 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.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 (neg.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 (fma.f64 x.re (/.f64 y.re x.im) y.im) (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
5 calls:
| 14.0ms | x.re |
| 13.0ms | y.re |
| 9.0ms | x.im |
| 9.0ms | y.im |
| 8.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 |
|---|---|---|
| 76.1% | 3 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 69.3% | 5 | x.re |
| 69.3% | 3 | x.im |
| 86.1% | 5 | y.re |
| 85.6% | 5 | y.im |
Compiled 15 to 27 computations (-80% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) 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 (neg.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 (*.f64 x.im y.im) y.re) (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 (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.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))) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.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))) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.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))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
2 calls:
| 13.0ms | y.re |
| 9.0ms | y.im |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.6% | 5 | y.im |
| 85.2% | 5 | y.re |
Compiled 2 to 8 computations (-300% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) 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 (neg.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 (*.f64 x.im y.im) y.re) (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 (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.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))) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.f64 x.im)) y.im))) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.re (/.f64 y.re y.im) x.im) y.im)) |
1 calls:
| 12.0ms | y.im |
| Accuracy | Segments | Branch |
|---|---|---|
| 85.6% | 5 | y.im |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) 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 (neg.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 (*.f64 x.im y.im) y.re) (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 (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 y.re y.re)))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 x.re (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (fma.f64 y.im y.im (*.f64 y.re y.re)))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.re y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (*.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) (/.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))) (*.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re) (/.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 x.re (/.f64 y.re (*.f64 y.im y.im)) (/.f64 x.im y.im))) |
(/.f64 #s(approx (+ (* x.re y.re) (* x.im y.im)) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) #s(approx (+ (* y.re y.re) (* y.im y.im)) (*.f64 y.im y.im))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 y.im (/.f64 x.im y.re))) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.im x.im) y.re)) (neg.f64 x.re)) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 y.re x.re) y.im)) (neg.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 (fma.f64 y.im (/.f64 x.im y.re) 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 (neg.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 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
2 calls:
| 11.0ms | y.re |
| 8.0ms | y.im |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.8% | 3 | y.re |
| 79.3% | 3 | y.im |
Compiled 2 to 8 computations (-300% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (+.f64 (/.f64 (*.f64 y.im x.im) y.re) x.re) y.re)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 y.im (/.f64 x.im y.re) x.re) y.re)) |
1 calls:
| 10.0ms | y.re |
| Accuracy | Segments | Branch |
|---|---|---|
| 80.4% | 3 | y.re |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
| Outputs |
|---|
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) 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 x.re (/.f64 y.re y.im) x.im) y.im)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
1 calls:
| 4.0ms | y.re |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.7% | 3 | y.re |
Compiled 1 to 4 computations (-300% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (/.f64 (fma.f64 x.im (/.f64 y.im y.re) x.re) y.re)) |
| Outputs |
|---|
#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 (fma.f64 x.im (/.f64 y.im y.re) 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)) |
3 calls:
| 6.0ms | y.im |
| 4.0ms | y.re |
| 4.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 |
|---|---|---|
| 51.8% | 1 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 72.7% | 3 | y.im |
| 67.7% | 3 | y.re |
Compiled 13 to 19 computations (-46.2% saved)
| Inputs |
|---|
#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 x.im (/.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))) #s(approx (neg (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re)) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (+ (* x.re (/ y.re y.im)) x.im) y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) x.re))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) #s(approx (/ (- x.im (/ (* (neg x.re) y.re) y.im)) y.im) (*.f64 x.re (/.f64 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))) #s(approx (/ (- (/ (* x.im y.im) y.re) (neg x.re)) y.re) (*.f64 x.im (/.f64 y.im (*.f64 y.re y.re))))) |
(/.f64 #s(approx (+ (* y.re x.re) (* y.im x.im)) (*.f64 y.re x.re)) #s(approx (+ (* y.re y.re) (* y.im y.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 #s(approx (+ (* x.im (/ y.im y.re)) 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 #s(approx (+ (* x.re (/ y.re y.im)) x.im) (*.f64 (/.f64 y.re y.im) x.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 (/ y.re y.im)) x.im) (/.f64 (*.f64 y.re 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 y.im) y.re) (neg x.re)) (/.f64 (*.f64 y.im x.im) y.re)) y.re)) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 #s(approx (/ (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) y.re) (/.f64 (*.f64 (neg.f64 x.im) y.im) (*.f64 y.re y.re))))) |
#s(approx (/ (+ (* x.re y.re) (* x.im y.im)) (+ (* y.re y.re) (* y.im y.im))) (neg.f64 (/.f64 #s(approx (+ (neg (/ (* y.im x.im) y.re)) (neg x.re)) (/.f64 (*.f64 x.im y.im) (neg.f64 y.re))) y.re))) |
| 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)) |
4 calls:
| 6.0ms | x.im |
| 4.0ms | y.re |
| 4.0ms | y.im |
| 4.0ms | x.re |
| Accuracy | Segments | Branch |
|---|---|---|
| 55.3% | 3 | x.re |
| 63.8% | 3 | y.re |
| 56.8% | 5 | x.im |
| 62.3% | 3 | y.im |
Compiled 4 to 16 computations (-300% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#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)) |
5 calls:
| 30.0ms | x.im |
| 1.0ms | y.re |
| 1.0ms | y.im |
| 1.0ms | x.re |
| 1.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 |
|---|---|---|
| 41.8% | 1 | x.im |
| 41.8% | 1 | (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) |
| 41.8% | 1 | x.re |
| 41.8% | 1 | y.im |
| 41.8% | 1 | y.re |
Compiled 15 to 27 computations (-80% saved)
| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 2.9563137120066994e+41 | 1.0099454805500754e+47 |
| 13.0ms | 2.8973750965767305e-127 | 3.11100263111339e-118 |
| 30.0ms | -6.290615870985579e-97 | -2.493885214375838e-107 |
| 10.0ms | -1.0489771834083515e+65 | -7.432235795573508e+62 |
| 48.0ms | 560× | 0 | valid |
Compiled 1 211 to 1 281 computations (-5.8% saved)
ival-mult!: 25.0ms (83.3% of total)ival-add!: 2.0ms (6.7% of total)ival-div!: 2.0ms (6.7% of total)adjust: 0.0ms (0% of total)| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 62.0ms | 1.1106269722670594e+73 | 1.830876946299238e+80 |
| 14.0ms | 1.4771594655393316e-113 | 7.986941861849608e-100 |
| 74.0ms | -1.6559705991703523e-97 | -1.3818373703338114e-98 |
| 7.0ms | -2.8795742843033533e+128 | -7.251369103592183e+127 |
| 90.0ms | 480× | 0 | valid |
Compiled 757 to 817 computations (-7.9% saved)
ival-mult!: 9.0ms (71.4% of total)ival-add!: 2.0ms (15.9% of total)ival-div!: 2.0ms (15.9% of total)adjust: 0.0ms (0% of total)| 4× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.1106269722670594e+73 | 1.830876946299238e+80 |
| 1.0ms | 1.4771594655393316e-113 | 7.986941861849608e-100 |
| 1.0ms | -1.6559705991703523e-97 | -1.3818373703338114e-98 |
| 0.0ms | -2.8795742843033533e+128 | -7.251369103592183e+127 |
Compiled 738 to 798 computations (-8.1% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 22.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
| 14.0ms | 272× | 0 | valid |
Compiled 562 to 596 computations (-6% saved)
ival-mult!: 5.0ms (70.3% of total)ival-add!: 1.0ms (14.1% of total)ival-div!: 1.0ms (14.1% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 1.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
Compiled 528 to 562 computations (-6.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 1.0ms | 1.0099454805500754e+47 | 8.816146220296738e+55 |
| 1.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
Compiled 528 to 562 computations (-6.4% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 8.613243232797176e+45 | 8.377604171962757e+61 |
| 6.0ms | -7.553153409743043e+118 | -4.689816777768544e+118 |
| 12.0ms | 224× | 0 | valid |
Compiled 410 to 438 computations (-6.8% saved)
ival-mult!: 4.0ms (68.2% of total)ival-add!: 1.0ms (17.1% of total)ival-div!: 1.0ms (17.1% of total)adjust: 0.0ms (0% of total)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 2.459590760161308e-7 | 1.1510399618466787 |
| 1.0ms | -3.850612121432327e-52 | -2.7417492395861117e-55 |
| 7.0ms | 144× | 0 | valid |
Compiled 460 to 494 computations (-7.4% saved)
ival-mult!: 2.0ms (55.4% of total)ival-add!: 1.0ms (27.7% of total)ival-div!: 1.0ms (27.7% of total)adjust: 0.0ms (0% of total)| 1× | fuel |
Compiled 145 to 98 computations (32.4% saved)
Compiled 156 to 109 computations (30.1% saved)
Loading profile data...