
Time bar (total: 7.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 21 to 13 computations (38.1% saved)
| 949.0ms | 8 256× | 0 | valid |
ival-mult: 412.0ms (56.9% of total)ival-add: 261.0ms (36.1% of total)ival-sub: 41.0ms (5.7% of total)ival-true: 6.0ms (0.8% of total)ival-assert: 3.0ms (0.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 23 | 0 | - | 0 | - | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| 18 | 0 | - | 0 | - | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 11 | 0 | - | 0 | - | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) |
| 0 | 0 | - | 0 | - | (*.f64 x.re x.im) |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
| 0 | 0 | - | 0 | - | (*.f64 x.im x.im) |
| 0 | 0 | - | 0 | - | (*.f64 x.re x.re) |
| 0 | 0 | - | 0 | - | (*.f64 x.im x.re) |
| 0 | 0 | - | 0 | - | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| 0 | 0 | - | 0 | - | x.re |
| 0 | 0 | - | 0 | - | x.im |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.f64 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | nan-rescue | 23 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 55 | |
| ↳ | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 100 | |
| ↳ | (*.f64 x.im x.im) | overflow | 63 | |
| ↳ | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | overflow | 104 | |
| ↳ | (*.f64 x.im x.re) | overflow | 32 | |
| ↳ | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | overflow | 56 | |
| ↳ | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | overflow | 32 | |
| ↳ | (*.f64 x.re x.im) | overflow | 32 | |
-.f64 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | nan-rescue | 18 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 55 | |
| ↳ | (*.f64 x.im x.im) | overflow | 63 | |
*.f64 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | n*o | 11 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 40 | 0 |
| - | 0 | 216 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 40 | 0 | 0 |
| - | 0 | 0 | 216 |
| number | freq |
|---|---|
| 0 | 216 |
| 1 | 28 |
| 2 | 12 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 159.0ms | 512× | 0 | valid |
Compiled 218 to 48 computations (78% saved)
ival-add: 56.0ms (49.2% of total)ival-mult: 55.0ms (48.3% of total)ival-sub: 2.0ms (1.8% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | egg-herbie |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 107 |
| 1 | 99 | 89 |
| 2 | 292 | 85 |
| 3 | 1259 | 57 |
| 4 | 3111 | 55 |
| 5 | 5133 | 55 |
| 6 | 6048 | 55 |
| 7 | 6433 | 55 |
| 8 | 6553 | 55 |
| 9 | 6657 | 55 |
| 10 | 6664 | 55 |
| 11 | 7747 | 55 |
| 0 | 11 | 19 |
| 0 | 20 | 19 |
| 1 | 34 | 17 |
| 2 | 65 | 17 |
| 3 | 151 | 11 |
| 4 | 358 | 11 |
| 5 | 1010 | 11 |
| 6 | 1929 | 11 |
| 7 | 4829 | 11 |
| 8 | 7194 | 11 |
| 0 | 8107 | 11 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(abs x.re)
(negabs x.im)
Compiled 19 to 11 computations (42.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 84.5% | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 19 to 11 computations (42.1% saved)
| 1× | egg-herbie |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 x.re x.re) | |
| cost-diff | 0 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | |
| cost-diff | 128 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| cost-diff | 192 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 65 |
| 0 | 20 | 65 |
| 1 | 34 | 59 |
| 2 | 65 | 59 |
| 3 | 151 | 53 |
| 4 | 358 | 53 |
| 5 | 1010 | 53 |
| 6 | 1929 | 53 |
| 7 | 4829 | 53 |
| 8 | 7194 | 53 |
| 0 | 8107 | 53 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 x.re x.re) |
x.re |
(*.f64 x.im x.im) |
x.im |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
| Outputs |
|---|
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) |
(*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re)) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(*.f64 x.re x.re) |
x.re |
(*.f64 x.im x.im) |
x.im |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.re) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(*.f64 x.im x.re) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.12109375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 2.653759441538508 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | |
| accuracy | 4.21091272996247 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| accuracy | 5.828077524094733 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| 61.0ms | 256× | 0 | valid |
Compiled 132 to 24 computations (81.8% saved)
ival-mult: 50.0ms (94% of total)ival-add: 2.0ms (3.8% of total)ival-sub: 1.0ms (1.9% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) |
(*.f64 x.re x.re) |
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| Outputs |
|---|
(* 2 (* x.im x.re)) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 2)) |
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(pow x.re 2) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(* 2 (* x.im (pow x.re 2))) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x.im | @ | -inf | ((+ (* x.re x.im) (* x.im x.re)) (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.im | @ | 0 | ((+ (* x.re x.im) (* x.im x.re)) (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.im | @ | inf | ((+ (* x.re x.im) (* x.im x.re)) (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.re | @ | 0 | ((+ (* x.re x.im) (* x.im x.re)) (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.re | @ | inf | ((+ (* x.re x.im) (* x.im x.re)) (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 1× | egg-herbie |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 180 |
| 1 | 182 | 170 |
| 2 | 586 | 170 |
| 3 | 2560 | 170 |
| 4 | 6935 | 170 |
| 0 | 8454 | 170 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* 2 (* x.im x.re)) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 2)) |
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(pow x.re 2) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(* 2 (* x.im (pow x.re 2))) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
| Outputs |
|---|
(* 2 (* x.im x.re)) |
(*.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) |
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(- (pow x.re 2) (pow x.im 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(* -1 (pow x.im 3)) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(pow x.re 2) |
(*.f64 x.re x.re) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(* 2 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 2 binary64)) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 54 |
| 0 | 20 | 54 |
| 1 | 79 | 42 |
| 0 | 536 | 41 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) |
(*.f64 x.re x.re) |
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| Outputs |
|---|
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.re (+.f64 x.im x.im)) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 x.im x.re (*.f64 x.im x.re)) |
(fma.f64 x.re x.im (*.f64 x.im x.re)) |
(-.f64 (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64)) (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64))) |
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) |
(*.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.im x.im (*.f64 x.re x.re)))) |
(*.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im))) (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x.im x.im (*.f64 x.re x.re)) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))) (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64))) (+.f64 (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64)))) (neg.f64 (fma.f64 x.im x.im (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (neg.f64 (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(fma.f64 x.im (neg.f64 x.im) (*.f64 x.re x.re)) |
(fma.f64 x.re x.re (*.f64 (neg.f64 x.im) x.im)) |
(-.f64 (/.f64 (pow.f64 x.re #s(literal 4 binary64)) (fma.f64 x.im x.im (*.f64 x.re x.re))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (fma.f64 x.im x.im (*.f64 x.re x.re)))) |
(-.f64 (/.f64 (pow.f64 x.re #s(literal 6 binary64)) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) (/.f64 (pow.f64 x.im #s(literal 6 binary64)) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))))) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 x.re x.re)) |
(+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(*.f64 x.im (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) x.im) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) x.im) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64)))) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(fma.f64 (*.f64 x.re x.re) x.im (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.im (*.f64 x.re x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(+.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64))) |
(*.f64 x.re x.re) |
(pow.f64 x.re #s(literal 2 binary64)) |
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64))) |
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) (-.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(+.f64 (*.f64 (*.f64 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) |
(*.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(/.f64 (*.f64 #s(literal 0 binary64) x.re) #s(literal 0 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) x.re) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.re #s(literal 0 binary64)) #s(literal 0 binary64)) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 x.re (*.f64 x.im x.re))) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
(+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 x.re (*.f64 x.im x.re))) |
Compiled 2 335 to 321 computations (86.3% saved)
9 alts after pruning (9 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 82 | 9 | 91 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 83 | 9 | 92 |
| Status | Accuracy | Program |
|---|---|---|
| 39.6% | (+.f64 (*.f64 (/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im))) (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| 84.5% | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) | |
| 90.8% | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| ▶ | 86.8% | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| ▶ | 66.7% | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| 49.4% | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.re x.re) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| ▶ | 66.8% | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| ▶ | 91.1% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
| ▶ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
Compiled 440 to 252 computations (42.7% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (neg.f64 (pow.f64 x.im #s(literal 3 binary64))) | |
| cost-diff | 0 | #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) | |
| cost-diff | 128 | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| cost-diff | 192 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 0 | (-.f64 x.re x.im) | |
| cost-diff | 0 | (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) | |
| cost-diff | 192 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 832 | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| cost-diff | 0 | #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) | |
| cost-diff | 0 | (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) | |
| cost-diff | 192 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 448 | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| cost-diff | 0 | (*.f64 x.re x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re x.re) x.im) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) | |
| cost-diff | 0 | (neg.f64 x.im) | |
| cost-diff | 0 | (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) | |
| cost-diff | 0 | (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 324 |
| 0 | 61 | 316 |
| 1 | 108 | 296 |
| 2 | 187 | 296 |
| 3 | 366 | 282 |
| 4 | 961 | 282 |
| 5 | 2018 | 282 |
| 6 | 5497 | 282 |
| 7 | 7547 | 282 |
| 0 | 8090 | 280 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(neg.f64 x.im) |
x.im |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 x.re x.re) |
x.re |
x.im |
#s(literal 3 binary64) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
x.re |
(*.f64 x.im x.re) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(+.f64 x.im x.re) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(pow.f64 x.im #s(literal 3 binary64)) |
x.im |
#s(literal 3 binary64) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
x.re |
(*.f64 x.im x.re) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(neg.f64 x.im) |
x.im |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 x.re x.re) |
x.re |
x.im |
#s(literal 3 binary64) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (fma.f64 #s(literal 2 binary64) (*.f64 x.re x.re) #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im))) x.im) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
x.re |
(*.f64 x.im x.re) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(+.f64 x.im x.re) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(*.f64 x.im x.re) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.re x.re)) x.im #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64)))) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(pow.f64 x.im #s(literal 3 binary64)) |
x.im |
#s(literal 3 binary64) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
x.re |
(*.f64 x.im x.re) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.00390625 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| accuracy | 0.12109375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 5.828077524094733 | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| accuracy | 23.5259874836247 | #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) | |
| accuracy | 0.00390625 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| accuracy | 0.12109375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 2.653759441538508 | (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) | |
| accuracy | 5.828077524094733 | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| accuracy | 0.12109375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 2.653759441538508 | (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) | |
| accuracy | 5.828077524094733 | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| accuracy | 27.80125783247168 | #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) | |
| accuracy | 0 | (*.f64 x.re x.re) | |
| accuracy | 0.16015625 | (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) | |
| accuracy | 6.002133450368892 | (*.f64 (*.f64 x.re x.re) x.im) | |
| accuracy | 29.742839428660123 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) | |
| accuracy | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) | |
| accuracy | 0.1328125 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) | |
| accuracy | 2.660574588494672 | (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) | |
| accuracy | 3.0038732212667223 | (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
| 123.0ms | 256× | 0 | valid |
Compiled 607 to 68 computations (88.8% saved)
ival-pow: 76.0ms (72.1% of total)ival-mult: 20.0ms (19% of total)ival-add: 5.0ms (4.7% of total)ival-sub: 2.0ms (1.9% of total)ival-neg: 2.0ms (1.9% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(neg.f64 x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 x.re x.re) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(-.f64 x.re x.im) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* 3 (* x.im (pow x.re 2))) |
(* x.im (pow x.re 2)) |
(pow x.re 2) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(- (pow x.re 2) (pow x.im 2)) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(* -1 x.im) |
(- x.re x.im) |
(* 3 (pow x.re 2)) |
(* 2 (* x.im (pow x.re 2))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(+ x.re (* -1 x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x.im | @ | -inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (neg x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.re x.re) x.im) 3) (* (* x.re x.re) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (- (* x.re x.re) (* x.im x.im)) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg (pow x.im 3)) (* (* 3 x.re) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 3.0ms | x.im | @ | inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (neg x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.re x.re) x.im) 3) (* (* x.re x.re) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (- (* x.re x.re) (* x.im x.im)) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg (pow x.im 3)) (* (* 3 x.re) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 3.0ms | x.re | @ | -inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (neg x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.re x.re) x.im) 3) (* (* x.re x.re) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (- (* x.re x.re) (* x.im x.im)) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg (pow x.im 3)) (* (* 3 x.re) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 3.0ms | x.re | @ | inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (neg x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.re x.re) x.im) 3) (* (* x.re x.re) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (- (* x.re x.re) (* x.im x.im)) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg (pow x.im 3)) (* (* 3 x.re) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.im | @ | 0 | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (neg x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.re x.re) x.im) 3) (* (* x.re x.re) x.im) (* x.re x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (- (* x.re x.re) (* x.im x.im)) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg (pow x.im 3)) (* (* 3 x.re) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 174 | 577 |
| 1 | 595 | 547 |
| 2 | 1963 | 547 |
| 3 | 7042 | 547 |
| 0 | 8221 | 535 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* 3 (* x.im (pow x.re 2))) |
(* x.im (pow x.re 2)) |
(pow x.re 2) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(- (pow x.re 2) (pow x.im 2)) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(* -1 x.im) |
(- x.re x.im) |
(* 3 (pow x.re 2)) |
(* 2 (* x.im (pow x.re 2))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(+ x.re (* -1 x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(* 3 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(pow x.re 2) |
(*.f64 x.re x.re) |
(* 2 (* x.im x.re)) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(- (pow x.re 2) (pow x.im 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(* -1 x.im) |
(neg.f64 x.im) |
(- x.re x.im) |
(-.f64 x.re x.im) |
(* 3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(* 2 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) x.re) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (* -1 (/ (pow x.im 3) (pow x.re 2))))) |
(*.f64 (-.f64 x.im (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 1 binary64)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(*.f64 (-.f64 x.im (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) x.re x.re) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(*.f64 (-.f64 x.im (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) x.re x.re) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(+ x.re (* -1 x.im)) |
(-.f64 x.re x.im) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (*.f64 x.im x.im)) |
(* (pow x.im 3) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -1 binary64)) (*.f64 x.im x.im)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* x.im (- (/ x.re x.im) 1)) |
(*.f64 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) x.im) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(*.f64 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) x.im) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 239 |
| 0 | 61 | 239 |
| 1 | 219 | 211 |
| 0 | 1374 | 206 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(neg.f64 x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 x.re x.re) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(-.f64 x.re x.im) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im) |
(*.f64 x.im (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) x.im) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) x.im) (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (*.f64 x.im (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64)))) |
(fma.f64 (*.f64 #s(literal -1 binary64) (pow.f64 x.im #s(literal 3/2 binary64))) (pow.f64 x.im #s(literal 3/2 binary64)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (neg.f64 (pow.f64 x.im #s(literal 3/2 binary64))) (pow.f64 x.im #s(literal 3/2 binary64)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (pow.f64 x.im #s(literal 3/2 binary64)) (neg.f64 (pow.f64 x.im #s(literal 3/2 binary64))) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 #s(literal -1 binary64) (pow.f64 x.im #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (pow.f64 x.im #s(literal 3 binary64)) #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (*.f64 (neg.f64 x.im) x.im) x.im (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (neg.f64 x.im) (*.f64 x.im x.im) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 (*.f64 x.im x.im) (neg.f64 x.im) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 x.im (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(fma.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 x.re (*.f64 x.re (*.f64 #s(literal 3 binary64) x.im)) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(+.f64 (neg.f64 (pow.f64 x.im #s(literal 3 binary64))) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64))))) |
(/.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (neg.f64 x.im) x.im))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))))) (neg.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (neg.f64 (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64))) (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))))) |
(/.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re))))) |
(/.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (+.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) (pow.f64 x.im #s(literal 4 binary64)))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal 3 binary64) (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 x.re (*.f64 #s(literal 3 binary64) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) (/.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 x.im x.im)) |
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal -1 binary64) x.im) |
(*.f64 x.im #s(literal -1 binary64)) |
(/.f64 (neg.f64 (pow.f64 x.im #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 x.im x.im (*.f64 #s(literal 0 binary64) x.im)))) |
(/.f64 (*.f64 (neg.f64 x.im) x.im) (+.f64 #s(literal 0 binary64) x.im)) |
(neg.f64 x.im) |
(-.f64 #s(literal 0 binary64) x.im) |
(+.f64 #s(literal 0 binary64) (neg.f64 x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(*.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) |
(*.f64 x.re (*.f64 x.re (*.f64 #s(literal 3 binary64) x.im))) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 x.im (*.f64 x.re x.re)) |
(*.f64 x.re (*.f64 x.im x.re)) |
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64))) |
(*.f64 x.re x.re) |
(pow.f64 x.re #s(literal 2 binary64)) |
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64))) |
(*.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64))) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)))) (neg.f64 (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 3 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) (*.f64 x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)))) |
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 x.im #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) #s(literal 2 binary64)) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.re (+.f64 x.im x.im)) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 x.im x.re (*.f64 x.im x.re)) |
(fma.f64 x.re x.im (*.f64 x.im x.re)) |
(-.f64 (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64)) (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64))) |
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 x.im #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im))) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(fma.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im))) |
(+.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im)) |
(*.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) x.im) |
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (*.f64 (+.f64 x.im x.re) x.im)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 (+.f64 x.im x.re) x.im)) (+.f64 x.im x.re)) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) x.im) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) x.im) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64)))) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im (*.f64 (*.f64 (-.f64 x.re x.im) x.re) x.im)) |
(fma.f64 (*.f64 x.im x.re) x.re (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.re))) |
(fma.f64 x.im (*.f64 x.re x.re) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(fma.f64 x.re (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.re) x.im)) |
(+.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.re))) |
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(*.f64 (/.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(*.f64 (/.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im))) |
(*.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(*.f64 (+.f64 x.im x.re) (/.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))) |
(*.f64 (-.f64 x.re x.im) (/.f64 (+.f64 x.im x.re) (+.f64 x.im x.re))) |
(*.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (/.f64 #s(literal 1 binary64) (+.f64 x.im x.re))) |
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))) (-.f64 x.re (neg.f64 x.im))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) (fma.f64 x.re x.re (-.f64 (*.f64 (neg.f64 x.im) (neg.f64 x.im)) (*.f64 x.re (neg.f64 x.im))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im))) (neg.f64 (+.f64 x.im x.re))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)) (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x.im x.re) (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (*.f64 (+.f64 x.im x.re) (fma.f64 x.im x.im (*.f64 x.re x.re)))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (*.f64 (+.f64 x.im x.re) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (+.f64 x.im x.re)) |
(fma.f64 #s(literal -1 binary64) x.im x.re) |
(fma.f64 x.im #s(literal -1 binary64) x.re) |
(-.f64 (+.f64 x.re #s(literal 0 binary64)) x.im) |
(-.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) (/.f64 (pow.f64 x.im #s(literal 3 binary64)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(-.f64 (/.f64 (*.f64 x.re x.re) (+.f64 x.im x.re)) (/.f64 (*.f64 x.im x.im) (+.f64 x.im x.re))) |
(-.f64 x.re x.im) |
(+.f64 (neg.f64 x.im) x.re) |
(+.f64 x.re (neg.f64 x.im)) |
(*.f64 (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(*.f64 (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64))) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64))) (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))))) |
(/.f64 (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64))) (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) |
(/.f64 (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (*.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))))) |
(/.f64 (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) (-.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)))) |
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) |
(fma.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) |
(-.f64 (/.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) #s(literal 2 binary64)) (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re))) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 2 binary64)) (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64))))) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(*.f64 (*.f64 #s(literal -1 binary64) (pow.f64 x.im #s(literal 3/2 binary64))) (pow.f64 x.im #s(literal 3/2 binary64))) |
(*.f64 (neg.f64 (pow.f64 x.im #s(literal 3/2 binary64))) (pow.f64 x.im #s(literal 3/2 binary64))) |
(*.f64 (pow.f64 x.im #s(literal 3/2 binary64)) (neg.f64 (pow.f64 x.im #s(literal 3/2 binary64)))) |
(*.f64 #s(literal -1 binary64) (pow.f64 x.im #s(literal 3 binary64))) |
(*.f64 (pow.f64 x.im #s(literal 3 binary64)) #s(literal -1 binary64)) |
(*.f64 (*.f64 (neg.f64 x.im) x.im) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 x.im x.im)) |
(*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) |
(*.f64 x.im (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 x.im #s(literal 6 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 x.im #s(literal 3 binary64)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (pow.f64 x.im #s(literal 3 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (+.f64 (pow.f64 x.im #s(literal 6 binary64)) (*.f64 #s(literal 0 binary64) (pow.f64 x.im #s(literal 3 binary64)))))) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(-.f64 #s(literal 0 binary64) (pow.f64 x.im #s(literal 3 binary64))) |
(+.f64 #s(literal 0 binary64) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) |
(*.f64 x.re (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) |
(*.f64 x.re (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(/.f64 (*.f64 #s(literal 0 binary64) x.re) #s(literal 0 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) x.re) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.re #s(literal 0 binary64)) #s(literal 0 binary64)) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.re x.re) x.im)) |
(fma.f64 (*.f64 x.re x.re) x.im (*.f64 (*.f64 x.re x.re) x.im)) |
(fma.f64 x.im (*.f64 x.re x.re) (*.f64 (*.f64 x.re x.re) x.im)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 (*.f64 x.re x.re) x.im)) |
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (*.f64 x.re x.re) x.im)) |
Compiled 9 679 to 912 computations (90.6% saved)
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 307 | 8 | 315 |
| Fresh | 4 | 0 | 4 |
| Picked | 4 | 1 | 5 |
| Done | 0 | 0 | 0 |
| Total | 315 | 9 | 324 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 86.8% | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| ▶ | 63.2% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
| ▶ | 93.5% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| ✓ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
| 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) | |
| ▶ | 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
| 79.0% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) | |
| ▶ | 63.1% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
Compiled 499 to 296 computations (40.7% saved)
| 1× | egg-herbie |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (neg.f64 x.im) | |
| cost-diff | 0 | (pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) | |
| cost-diff | 0 | (+.f64 x.im x.re) | |
| cost-diff | 0 | (-.f64 x.re x.im) | |
| cost-diff | 0 | (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) | |
| cost-diff | 832 | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) | |
| cost-diff | 0 | (*.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) | |
| cost-diff | 0 | (*.f64 (neg.f64 x.im) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) | |
| cost-diff | 0 | (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| cost-diff | 0 | (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) | |
| cost-diff | 0 | (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 270 |
| 0 | 57 | 253 |
| 1 | 108 | 253 |
| 2 | 204 | 253 |
| 3 | 436 | 229 |
| 4 | 1061 | 229 |
| 5 | 2707 | 229 |
| 6 | 5667 | 229 |
| 7 | 7002 | 229 |
| 8 | 7314 | 229 |
| 9 | 7489 | 229 |
| 10 | 7503 | 229 |
| 11 | 7504 | 229 |
| 0 | 8177 | 229 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
(*.f64 x.im x.re) |
x.im |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(+.f64 x.im x.re) |
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) |
(*.f64 x.re (+.f64 x.im x.im)) |
(+.f64 x.im x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(neg.f64 x.im) |
x.im |
#s(literal 3 binary64) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 x.im))) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 x.im)) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
(neg.f64 x.im) |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
(*.f64 x.im x.re) |
x.im |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(+.f64 x.im x.re) |
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.re) |
(*.f64 x.re (+.f64 x.im x.im)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(+.f64 x.im x.im) |
(*.f64 #s(literal 2 binary64) x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(neg.f64 x.im) |
x.im |
#s(literal 3 binary64) |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0 | (pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) | |
| accuracy | 0 | (neg.f64 x.im) | |
| accuracy | 23.55776231018144 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) | |
| accuracy | 0 | (*.f64 x.re (+.f64 x.im x.im)) | |
| accuracy | 0.12109375 | (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) | |
| accuracy | 2.653759441538508 | (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) | |
| accuracy | 5.828077524094733 | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) | |
| accuracy | 0 | (*.f64 x.im x.re) | |
| accuracy | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| accuracy | 0.15625 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) | |
| accuracy | 29.742839428660123 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) | |
| accuracy | 0 | (neg.f64 x.im) | |
| accuracy | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) | |
| accuracy | 2.660574588494672 | (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) | |
| accuracy | 27.863086683488476 | #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) | |
| accuracy | 0 | (neg.f64 x.im) | |
| accuracy | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) | |
| accuracy | 1.5569559954018035 | (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) | |
| accuracy | 2.660574588494672 | (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
| 237.0ms | 256× | 0 | valid |
Compiled 491 to 72 computations (85.3% saved)
ival-mult: 192.0ms (91.9% of total)ival-add: 7.0ms (3.4% of total)ival-pow: 6.0ms (2.9% of total)ival-sub: 2.0ms (1% of total)ival-neg: 1.0ms (0.5% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 x.im x.re) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(-.f64 x.re x.im) |
(+.f64 x.im x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(neg.f64 x.im) |
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) |
(*.f64 x.re (+.f64 x.im x.im)) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* 3 x.re) |
(* 3 (* x.im (pow x.re 2))) |
(* x.im x.re) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(* -1 x.im) |
(- x.re x.im) |
x.im |
(+ x.im x.re) |
(* 2 (* x.im (pow x.re 2))) |
(* 2 (* x.im x.re)) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* 3 (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* x.re (+ 1 (/ x.im x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(+ x.re (* -1 x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* x.im (+ 1 (/ x.re x.im))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 49.0ms | x.im | @ | inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (* (neg x.im) x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* 3 x.re) (* x.im x.re)) (* x.im x.re) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (* x.re (+ x.im x.im)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ x.im x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (* x.re (+ x.im x.im))) |
| 3.0ms | x.im | @ | -inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (* (neg x.im) x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* 3 x.re) (* x.im x.re)) (* x.im x.re) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (* x.re (+ x.im x.im)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ x.im x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (* x.re (+ x.im x.im))) |
| 2.0ms | x.re | @ | -inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (* (neg x.im) x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* 3 x.re) (* x.im x.re)) (* x.im x.re) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (* x.re (+ x.im x.im)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ x.im x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (* x.re (+ x.im x.im))) |
| 2.0ms | x.im | @ | 0 | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (* (neg x.im) x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* 3 x.re) (* x.im x.re)) (* x.im x.re) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (* x.re (+ x.im x.im)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ x.im x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (* x.re (+ x.im x.im))) |
| 2.0ms | x.re | @ | inf | ((+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) x.im) (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (* (neg x.im) x.im) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* 3 x.re) (* x.im x.re)) (* x.im x.re) (+ (* (* (- x.re x.im) (+ x.im x.re)) x.im) (* (* x.re (+ x.im x.im)) x.re)) (* (* (- x.re x.im) (+ x.im x.re)) x.im) (- x.re x.im) (+ x.im x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (* x.re (+ x.im x.im))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 172 | 547 |
| 1 | 588 | 499 |
| 2 | 1917 | 485 |
| 3 | 6839 | 485 |
| 0 | 8103 | 472 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* 3 x.re) |
(* 3 (* x.im (pow x.re 2))) |
(* x.im x.re) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(* -1 x.im) |
(- x.re x.im) |
x.im |
(+ x.im x.re) |
(* 2 (* x.im (pow x.re 2))) |
(* 2 (* x.im x.re)) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* 3 (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* x.re (+ 1 (/ x.im x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(+ x.re (* -1 x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* x.im (+ 1 (/ x.re x.im))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(* 3 x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
(* 3 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im x.re) |
(*.f64 x.im x.re) |
(+ (* -1 (pow x.im 3)) (* x.im (* x.re (+ x.im (* -1 x.im))))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im (+ x.im (* -1 x.im))) (* x.re (+ x.im (* 2 x.im)))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(+ (* -1 (pow x.im 3)) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im)))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(* -1 x.im) |
(neg.f64 x.im) |
(- x.re x.im) |
(-.f64 x.re x.im) |
x.im |
(+ x.im x.re) |
(+.f64 x.im x.re) |
(* 2 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 2 binary64)) x.im) |
(* 2 (* x.im x.re)) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* 3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 x.im) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re)))) |
(*.f64 (-.f64 x.im (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) x.re x.re) |
(* x.re (+ 1 (/ x.im x.re))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(*.f64 (-.f64 (*.f64 #s(literal 3 binary64) x.im) (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (/ (pow x.im 3) x.re)) x.re)))) |
(*.f64 (-.f64 x.im (/.f64 (/.f64 (pow.f64 x.im #s(literal 3 binary64)) x.re) x.re)) (*.f64 x.re x.re)) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) x.re x.re) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* 2 (pow x.re 2)) (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* x.im (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(+ x.re (* -1 x.im)) |
(-.f64 x.re x.im) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (*.f64 x.im x.im)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2)))) 1)) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* x.im (- (/ x.re x.im) 1)) |
(*.f64 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) x.im) |
(* x.im (+ 1 (/ x.re x.im))) |
(fma.f64 (/.f64 x.re x.im) x.im x.im) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (+ (* -2 (pow x.re 2)) (* -1 (pow x.re 2))) x.im))) x.im))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (/ (pow x.re 2) x.im)) x.im))))) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(*.f64 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) x.im) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
(fma.f64 (/.f64 x.re x.im) x.im x.im) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 39 | 238 |
| 0 | 57 | 225 |
| 1 | 219 | 201 |
| 0 | 1346 | 196 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
#s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 x.im x.re) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) |
(-.f64 x.re x.im) |
(+.f64 x.im x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(neg.f64 x.im) |
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) |
(*.f64 x.re (+.f64 x.im x.im)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 x.im (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) x.im) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64))) x.im) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im))) |
(/.f64 (*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) x.im) (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.f64 (*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) x.im) (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re))))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (*.f64 x.im (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64)))) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im))) |
(/.f64 (*.f64 x.im (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.f64 (*.f64 x.im (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re))))) |
(fma.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 x.im x.re) (*.f64 #s(literal 3 binary64) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 x.im x.re) (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 (neg.f64 x.im) x.im) x.im (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.im x.re) x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 x.im (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(fma.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(+.f64 (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im) (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(+.f64 (*.f64 x.im (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(*.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)))) |
(*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64))))) |
(*.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re)))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64))) (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re)))) (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))))) (neg.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (neg.f64 (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64))))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64))))) (neg.f64 (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re)))))) |
(/.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (pow.f64 x.im #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im))) |
(/.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.f64 (fma.f64 #s(literal 27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (neg.f64 (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (*.f64 x.re x.re))))) |
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal 3 binary64) (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 x.re (*.f64 #s(literal 3 binary64) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) (/.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))))) |
(-.f64 (/.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 x.im x.im)))) |
(-.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 x.im x.im)) |
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(*.f64 #s(literal 3 binary64) x.re) |
(*.f64 x.re #s(literal 3 binary64)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 x.im #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im))) |
#s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 #s(literal -1 binary64) (*.f64 x.im x.im)) |
(*.f64 (neg.f64 x.im) x.im) |
(*.f64 x.im (neg.f64 x.im)) |
(neg.f64 (*.f64 x.im x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 x.im x.re) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 x.im x.re) |
(*.f64 x.re x.im) |
(*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)))) |
(*.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)) (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64))) (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) x.im (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.im x.im #s(literal 0 binary64))) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 #s(literal 2 binary64) (*.f64 x.im x.re) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 #s(literal 2 binary64) x.im (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 x.re x.re) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 #s(literal 2 binary64) x.im) x.re (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 x.im (+.f64 x.re x.re) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.im #s(literal 2 binary64) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.im (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.re (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im))) (/.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)))) |
(+.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(+.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im)) |
(*.f64 x.im (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) x.im) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) x.im) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (*.f64 (+.f64 x.im x.re) x.im)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (*.f64 (+.f64 x.im x.re) x.im)) (+.f64 x.im x.re)) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64)))) (fma.f64 x.im x.im (*.f64 x.re x.re))) |
(/.f64 (*.f64 x.im (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im (*.f64 (*.f64 (-.f64 x.re x.im) x.re) x.im)) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.re))) |
(fma.f64 x.im (*.f64 x.re x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 (*.f64 x.re x.re) x.im (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.re) x.im)) |
(+.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.re))) |
(+.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(*.f64 (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(*.f64 (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im))) |
(*.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (/.f64 #s(literal 1 binary64) (+.f64 x.im x.re))) |
(*.f64 (+.f64 x.im x.re) (/.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))) |
(*.f64 (-.f64 x.re x.im) (/.f64 (+.f64 x.im x.re) (+.f64 x.im x.re))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)) (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x.im x.re) (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re))) (neg.f64 (+.f64 x.im x.re))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (*.f64 (+.f64 x.im x.re) (fma.f64 x.im x.im (*.f64 x.re x.re)))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.re x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re (neg.f64 x.im))))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (*.f64 (+.f64 x.im x.re) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (-.f64 x.re (neg.f64 x.im))) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (+.f64 x.im x.re)) |
(fma.f64 #s(literal -1 binary64) x.im x.re) |
(fma.f64 x.im #s(literal -1 binary64) x.re) |
(-.f64 (+.f64 x.re #s(literal 0 binary64)) x.im) |
(-.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re))) (/.f64 (pow.f64 x.im #s(literal 3 binary64)) (fma.f64 (+.f64 x.im x.re) x.im (*.f64 x.re x.re)))) |
(-.f64 (/.f64 (*.f64 x.re x.re) (+.f64 x.im x.re)) (/.f64 (*.f64 x.im x.im) (+.f64 x.im x.re))) |
(-.f64 x.re x.im) |
(+.f64 (neg.f64 x.im) x.re) |
(+.f64 x.re (neg.f64 x.im)) |
(*.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re)) (/.f64 #s(literal 1 binary64) (-.f64 x.im x.re))) |
(*.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x.im x.re) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im)) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 (neg.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (neg.f64 (-.f64 x.im x.re))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im)))) |
(/.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re)) (-.f64 x.im x.re)) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.re x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.im x.re)))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 (-.f64 x.re x.im) x.re (*.f64 x.im x.im))) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)) |
(-.f64 (/.f64 (*.f64 x.im x.im) (-.f64 x.im x.re)) (/.f64 (*.f64 x.re x.re) (-.f64 x.im x.re))) |
(+.f64 x.im x.re) |
(+.f64 x.re x.im) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -1 binary64)) x.im) |
(*.f64 (pow.f64 (neg.f64 x.im) #s(literal 3/2 binary64)) (pow.f64 (neg.f64 x.im) #s(literal 3/2 binary64))) |
(*.f64 #s(literal -1 binary64) (pow.f64 x.im #s(literal 3 binary64))) |
(*.f64 (neg.f64 x.im) (*.f64 x.im x.im)) |
(*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) |
(pow.f64 (exp.f64 (log.f64 (neg.f64 x.im))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (neg.f64 x.im) #s(literal 3/2 binary64)) #s(literal 2 binary64)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(pow.f64 (*.f64 x.im x.im) #s(literal 3/2 binary64)) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(-.f64 #s(literal 0 binary64) (pow.f64 x.im #s(literal 3 binary64))) |
(exp.f64 (*.f64 (log.f64 (neg.f64 x.im)) #s(literal 3 binary64))) |
(*.f64 #s(literal -1 binary64) x.im) |
(*.f64 x.im #s(literal -1 binary64)) |
(/.f64 (pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) (+.f64 #s(literal 0 binary64) (fma.f64 x.im x.im (*.f64 #s(literal 0 binary64) x.im)))) |
(/.f64 (*.f64 (neg.f64 x.im) x.im) (+.f64 #s(literal 0 binary64) x.im)) |
(neg.f64 x.im) |
(-.f64 #s(literal 0 binary64) x.im) |
(+.f64 #s(literal 0 binary64) (neg.f64 x.im)) |
(*.f64 (*.f64 x.re #s(literal 2 binary64)) x.im) |
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.im x.im #s(literal 0 binary64)))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) x.im) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.im #s(literal 2 binary64)) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 x.re (*.f64 #s(literal 2 binary64) x.im)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) x.re) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 #s(literal 0 binary64) x.re) #s(literal 0 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) x.re) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x.im x.im #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x.im)) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 x.im x.im #s(literal 0 binary64)))) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.im x.re (*.f64 x.im x.re)) |
(fma.f64 (*.f64 x.re x.re) x.im (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.re x.im (*.f64 x.im x.re)) |
(-.f64 (/.f64 (*.f64 x.im x.im) #s(literal 0 binary64)) (/.f64 (*.f64 x.im x.im) #s(literal 0 binary64))) |
(-.f64 (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64)) (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64))) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) |
(+.f64 x.im x.im) |
(*.f64 (*.f64 x.re #s(literal 2 binary64)) x.im) |
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.im x.im #s(literal 0 binary64)))) |
(*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) x.im) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.im #s(literal 2 binary64)) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 x.re (*.f64 #s(literal 2 binary64) x.im)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) x.re) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 #s(literal 0 binary64) x.re) #s(literal 0 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) x.re) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x.im x.im #s(literal 0 binary64)) (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x.im)) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 x.im x.im #s(literal 0 binary64)))) |
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.im x.im #s(literal 0 binary64))) |
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.im x.re (*.f64 x.im x.re)) |
(fma.f64 (*.f64 x.re x.re) x.im (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.re x.im (*.f64 x.im x.re)) |
(-.f64 (/.f64 (*.f64 x.im x.im) #s(literal 0 binary64)) (/.f64 (*.f64 x.im x.im) #s(literal 0 binary64))) |
(-.f64 (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64)) (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal 0 binary64))) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) |
(+.f64 x.im x.im) |
Compiled 8 341 to 909 computations (89.1% saved)
10 alts after pruning (4 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 283 | 3 | 286 |
| Fresh | 2 | 1 | 3 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 1 | 1 |
| Total | 285 | 10 | 295 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 56.4% | (fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
| ✓ | 86.8% | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| ✓ | 63.2% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
| ✓ | 93.5% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| ✓ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
| ▶ | 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
| ▶ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
| ✓ | 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
| ▶ | 79.0% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
| ✓ | 63.1% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
Compiled 275 to 164 computations (40.4% saved)
| 1× | egg-herbie |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (+.f64 x.im x.re) x.im) | |
| cost-diff | 0 | (-.f64 x.re x.im) | |
| cost-diff | 320 | (fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) | |
| cost-diff | 0 | (*.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) | |
| cost-diff | 0 | #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) | |
| cost-diff | 0 | (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) | |
| cost-diff | 0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) | |
| cost-diff | 1408 | (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 252 |
| 0 | 60 | 252 |
| 1 | 106 | 242 |
| 2 | 207 | 242 |
| 3 | 533 | 224 |
| 4 | 1618 | 224 |
| 5 | 3349 | 208 |
| 6 | 6355 | 208 |
| 0 | 8047 | 207 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) |
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) |
(/.f64 (neg.f64 x.im) x.re) |
(neg.f64 x.im) |
x.im |
x.re |
(/.f64 x.im x.re) |
#s(literal 3 binary64) |
(*.f64 x.re x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal 3 binary64) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(*.f64 (+.f64 x.im x.re) x.im) |
(+.f64 x.im x.re) |
(*.f64 #s(literal 2 binary64) x.im) |
#s(literal 2 binary64) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) x.im)) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) x.im) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re))) |
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) |
(fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) |
(/.f64 (neg.f64 x.im) x.re) |
(neg.f64 x.im) |
x.im |
x.re |
(/.f64 x.im x.re) |
#s(literal 3 binary64) |
(*.f64 x.re x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 binary64) |
x.re |
x.im |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal 3 binary64) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 (fma.f64 (+.f64 x.im x.re) (-.f64 x.re x.im) #s(literal 2 binary64)) x.im) |
(-.f64 x.re x.im) |
x.re |
x.im |
(*.f64 (+.f64 x.im x.re) x.im) |
(+.f64 x.im x.re) |
(*.f64 #s(literal 2 binary64) x.im) |
#s(literal 2 binary64) |
Found 16 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0 | (+.f64 x.im x.re) | |
| accuracy | 0 | (*.f64 (+.f64 x.im x.re) x.im) | |
| accuracy | 0 | (*.f64 #s(literal 2 binary64) x.im) | |
| accuracy | 0.05859375 | (fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) | |
| accuracy | 0 | (*.f64 x.im x.re) | |
| accuracy | 0.12890625 | (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) | |
| accuracy | 0.21875 | (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) | |
| accuracy | 29.742839428660123 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) | |
| accuracy | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| accuracy | 0.1328125 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) | |
| accuracy | 5.999846508928012 | (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) | |
| accuracy | 29.742839428660123 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) | |
| accuracy | 0 | #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) | |
| accuracy | 0.14128876953688402 | (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) | |
| accuracy | 2.660574588494672 | (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) | |
| accuracy | 12.923864794027399 | (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
| 223.0ms | 256× | 0 | valid |
Compiled 438 to 76 computations (82.6% saved)
ival-mult: 99.0ms (87.9% of total)ival-add: 6.0ms (5.3% of total)ival-div: 3.0ms (2.7% of total)ival-sub: 2.0ms (1.8% of total)ival-neg: 1.0ms (0.9% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 x.im x.re) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
(*.f64 (+.f64 x.im x.re) x.im) |
(+.f64 x.im x.re) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal 2 binary64) x.im) |
| Outputs |
|---|
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* 3 (* x.im (pow x.re 2))) |
(* 3 (pow x.re 2)) |
(* 3 x.re) |
(* 3 (* x.im x.re)) |
(* x.im x.re) |
(+ (* -1 (pow x.im 3)) (* 2 x.im)) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.im (* x.re (+ x.im (* -1 x.im)))))) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im))))))) |
(* -1 x.im) |
(- x.re x.im) |
(pow x.im 2) |
(+ (* x.im x.re) (pow x.im 2)) |
x.im |
(+ x.im x.re) |
(* -1 (/ (pow x.im 2) (pow x.re 2))) |
(/ (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 (/ x.im (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* x.re (+ x.im (/ (pow x.im 2) x.re))) |
(* x.re (+ 1 (/ x.im x.re))) |
3 |
(+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (* -1 (/ (+ (* -1 (pow x.im 3)) (* 2 x.im)) x.re))) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* -1 (* x.re (+ (* -1 x.im) (* -1 (/ (pow x.im 2) x.re))))) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ 2 (pow x.re 2))) |
(* x.im (+ 2 (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ 2 (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(+ x.re (* -1 x.im)) |
(* x.im (+ x.im x.re)) |
(* 2 x.im) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ 2 (pow x.im 2)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* (pow x.im 2) (+ 1 (/ x.re x.im))) |
(* x.im (+ 1 (/ x.re x.im))) |
(* (pow x.im 2) (- (* 3 (/ 1 (pow x.im 2))) (/ 1 (pow x.re 2)))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (- (* -1 (pow x.re 2)) 2) x.im))) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | x.re | @ | -inf | ((* (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* x.re x.re)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* 3 x.re) x.re) x.im) (* (* 3 x.re) x.re) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.im x.re) 3) x.re) (* (* x.im x.re) 3) (* x.im x.re) (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (- x.re x.im) (* (+ x.im x.re) x.im) (+ x.im x.re) (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* 2 x.im)) |
| 5.0ms | x.re | @ | 0 | ((* (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* x.re x.re)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* 3 x.re) x.re) x.im) (* (* 3 x.re) x.re) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.im x.re) 3) x.re) (* (* x.im x.re) 3) (* x.im x.re) (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (- x.re x.im) (* (+ x.im x.re) x.im) (+ x.im x.re) (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* 2 x.im)) |
| 3.0ms | x.im | @ | -inf | ((* (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* x.re x.re)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* 3 x.re) x.re) x.im) (* (* 3 x.re) x.re) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.im x.re) 3) x.re) (* (* x.im x.re) 3) (* x.im x.re) (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (- x.re x.im) (* (+ x.im x.re) x.im) (+ x.im x.re) (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* 2 x.im)) |
| 3.0ms | x.im | @ | inf | ((* (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* x.re x.re)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* 3 x.re) x.re) x.im) (* (* 3 x.re) x.re) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.im x.re) 3) x.re) (* (* x.im x.re) 3) (* x.im x.re) (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (- x.re x.im) (* (+ x.im x.re) x.im) (+ x.im x.re) (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* 2 x.im)) |
| 3.0ms | x.im | @ | 0 | ((* (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* x.re x.re)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) x.im) (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* 3 x.re) x.re) x.im) (* (* 3 x.re) x.re) (* 3 x.re) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* (* (* x.im x.re) 3) x.re) (* (* x.im x.re) 3) (* x.im x.re) (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (- x.re x.im) (* (+ x.im x.re) x.im) (+ x.im x.re) (+ (* (/ (neg x.im) x.re) (/ x.im x.re)) 3) (* 2 x.im)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 171 | 526 |
| 1 | 577 | 483 |
| 2 | 1811 | 464 |
| 3 | 6478 | 454 |
| 0 | 8570 | 443 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(* -1 (pow x.im 3)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(* 3 (* x.im (pow x.re 2))) |
(* 3 (pow x.re 2)) |
(* 3 x.re) |
(* 3 (* x.im x.re)) |
(* x.im x.re) |
(+ (* -1 (pow x.im 3)) (* 2 x.im)) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.im (* x.re (+ x.im (* -1 x.im)))))) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im))))))) |
(* -1 x.im) |
(- x.re x.im) |
(pow x.im 2) |
(+ (* x.im x.re) (pow x.im 2)) |
x.im |
(+ x.im x.re) |
(* -1 (/ (pow x.im 2) (pow x.re 2))) |
(/ (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(* x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 (/ x.im (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(* x.re (+ x.im (/ (pow x.im 2) x.re))) |
(* x.re (+ 1 (/ x.im x.re))) |
3 |
(+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2)))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (* -1 (/ (+ (* -1 (pow x.im 3)) (* 2 x.im)) x.re))) x.re)))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(* -1 (* x.re (+ (* -1 x.im) (* -1 (/ (pow x.im 2) x.re))))) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(* x.im (+ 2 (pow x.re 2))) |
(* x.im (+ 2 (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(* x.im (+ 2 (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(+ x.re (* -1 x.im)) |
(* x.im (+ x.im x.re)) |
(* 2 x.im) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ 2 (pow x.im 2)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(* x.im (- (/ x.re x.im) 1)) |
(* (pow x.im 2) (+ 1 (/ x.re x.im))) |
(* x.im (+ 1 (/ x.re x.im))) |
(* (pow x.im 2) (- (* 3 (/ 1 (pow x.im 2))) (/ 1 (pow x.re 2)))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (- (* -1 (pow x.re 2)) 2) x.im))) x.im))))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
| Outputs |
|---|
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(* -1 (pow x.im 3)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(+ (* -1 (pow x.im 3)) (* 3 (* x.im (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* 3 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* 3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(* 3 x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
(* 3 (* x.im x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) |
(* x.im x.re) |
(*.f64 x.re x.im) |
(+ (* -1 (pow x.im 3)) (* 2 x.im)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im #s(literal 2 binary64)) x.im) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.im (* x.re (+ x.im (* -1 x.im)))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im #s(literal 2 binary64)) x.im) |
(+ (* -1 (pow x.im 3)) (+ (* 2 x.im) (* x.re (+ (* x.im x.re) (* x.im (+ x.im (* -1 x.im))))))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #s(literal 2 binary64))) x.im) |
(* -1 x.im) |
(neg.f64 x.im) |
(- x.re x.im) |
(-.f64 x.re x.im) |
(pow x.im 2) |
(*.f64 x.im x.im) |
(+ (* x.im x.re) (pow x.im 2)) |
(*.f64 (+.f64 x.re x.im) x.im) |
x.im |
(+ x.im x.re) |
(+.f64 x.re x.im) |
(* -1 (/ (pow x.im 2) (pow x.re 2))) |
(*.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re)) |
(/ (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2))) (pow x.re 2)) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (/ (* x.im (+ x.im (* -1 x.im))) x.re))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (+ (* 2 (/ x.im (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(fma.f64 (fma.f64 (/.f64 #s(literal 2 binary64) x.re) (/.f64 x.im x.re) x.im) (*.f64 x.re x.re) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
x.re |
(* x.re (+ 1 (* -1 (/ x.im x.re)))) |
(-.f64 x.re x.im) |
(* x.re (+ x.im (/ (pow x.im 2) x.re))) |
(*.f64 (+.f64 x.re x.im) x.im) |
(* x.re (+ 1 (/ x.im x.re))) |
(+.f64 x.re x.im) |
3 |
#s(literal 3 binary64) |
(+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2)))) |
(neg.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 x.im x.re) #s(literal -3 binary64))) |
(* (pow x.re 2) (+ x.im (* -1 (/ (+ (* -1 (* x.im (+ x.im (* -1 x.im)))) (* -1 (/ (+ (* -1 (pow x.im 3)) (* 2 x.im)) x.re))) x.re)))) |
(fma.f64 (fma.f64 (/.f64 #s(literal 2 binary64) x.re) (/.f64 x.im x.re) x.im) (*.f64 x.re x.re) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(* -1 (* x.re (- (/ x.im x.re) 1))) |
(-.f64 x.re x.im) |
(* -1 (* x.re (+ (* -1 x.im) (* -1 (/ (pow x.im 2) x.re))))) |
(*.f64 (+.f64 x.re x.im) x.im) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(+.f64 x.re x.im) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (* 3 (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) x.im) |
(* x.im (+ 2 (pow x.re 2))) |
(*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im) |
(* x.im (+ 2 (+ (* x.im (+ x.re (* -1 x.re))) (pow x.re 2)))) |
(*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im) |
(* x.im (+ 2 (+ (* x.im (+ x.re (+ (* -1 x.im) (* -1 x.re)))) (pow x.re 2)))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #s(literal 2 binary64))) x.im) |
(+ x.re (* -1 x.im)) |
(-.f64 x.re x.im) |
(* x.im (+ x.im x.re)) |
(*.f64 (+.f64 x.re x.im) x.im) |
(* 2 x.im) |
(*.f64 #s(literal 2 binary64) x.im) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (*.f64 x.im x.im)) |
(* (pow x.im 3) (- (+ (* 2 (/ (pow x.re 2) (pow x.im 2))) (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (/ x.re x.im)) 1)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* (pow x.im 3) (- (+ (* -1 (/ x.re x.im)) (+ (/ 2 (pow x.im 2)) (+ (/ x.re x.im) (/ (pow x.re 2) (pow x.im 2))))) 1)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re (-.f64 (/.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) #s(literal 1 binary64))) (pow.f64 x.im #s(literal 3 binary64))) |
(* x.im (- (/ x.re x.im) 1)) |
(-.f64 x.re x.im) |
(* (pow x.im 2) (+ 1 (/ x.re x.im))) |
(*.f64 (+.f64 x.re x.im) x.im) |
(* x.im (+ 1 (/ x.re x.im))) |
(+.f64 x.re x.im) |
(* (pow x.im 2) (- (* 3 (/ 1 (pow x.im 2))) (/ 1 (pow x.re 2)))) |
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 1 binary64) (*.f64 x.re x.re))) x.im) x.im) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -2 (/ (pow x.re 2) (pow x.im 2))) (* -1 (/ (pow x.re 2) (pow x.im 2))))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal 1 binary64)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2)))))) |
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) (/.f64 x.re x.im) #s(literal 1 binary64)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(* -1 (* (pow x.im 3) (+ 1 (+ (* -1 (/ x.re x.im)) (/ x.re x.im))))) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(* -1 (* (pow x.im 3) (+ 1 (* -1 (/ (+ (* -1 (+ x.re (* -1 x.re))) (* -1 (/ (- (* -1 (pow x.re 2)) 2) x.im))) x.im))))) |
(*.f64 (-.f64 (/.f64 (/.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im) x.im) #s(literal 1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* -1 (* x.im (+ 1 (* -1 (/ x.re x.im))))) |
(-.f64 x.re x.im) |
(* -1 (* x.im (- (* -1 (/ x.re x.im)) 1))) |
(+.f64 x.re x.im) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 228 |
| 0 | 60 | 228 |
| 1 | 216 | 212 |
| 0 | 1606 | 208 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 x.im x.re) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
(*.f64 (+.f64 x.im x.re) x.im) |
(+.f64 x.im x.re) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal 2 binary64) x.im) |
| Outputs |
|---|
(*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re) x.re) |
(*.f64 (*.f64 x.re x.re) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64))) |
(*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(*.f64 x.re (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re)) |
(/.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64)) (*.f64 x.re x.re)) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64)))) (*.f64 x.re x.re)) (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64))) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64))))) (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(fma.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
(fma.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
(fma.f64 #s(literal 3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re))) |
(fma.f64 #s(literal 3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
(fma.f64 x.re (*.f64 #s(literal 3 binary64) x.re) (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re))) |
(fma.f64 x.re (*.f64 #s(literal 3 binary64) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
(+.f64 (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re))) (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) (*.f64 x.re x.re))) |
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re) x.re)) x.im)) |
(*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re) x.re)) x.im) |
(*.f64 x.im #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re) x.re))) |
#s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) x.re) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
(*.f64 (*.f64 x.im #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(*.f64 (*.f64 (*.f64 x.re x.im) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.re x.im) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.im) x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re (*.f64 x.re x.im))) |
(*.f64 x.re (*.f64 (*.f64 x.re x.im) #s(literal 3 binary64))) |
(*.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) |
(*.f64 x.re (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 #s(literal 3 binary64) x.re) |
(*.f64 x.re #s(literal 3 binary64)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
(*.f64 (*.f64 x.im #s(literal 3 binary64)) (*.f64 x.re x.re)) |
(*.f64 (*.f64 (*.f64 x.re x.im) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.re x.im) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.re) x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.im) x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re (*.f64 x.re x.im))) |
(*.f64 x.re (*.f64 (*.f64 x.re x.im) #s(literal 3 binary64))) |
(*.f64 x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) x.re) |
(*.f64 (*.f64 x.im #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 x.re x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.im)) |
(*.f64 x.re (*.f64 x.im #s(literal 3 binary64))) |
(*.f64 x.im (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im))) (/.f64 #s(literal 1 binary64) (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64))))) |
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
(*.f64 x.im (+.f64 #s(literal 2 binary64) (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)))) |
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)))) (neg.f64 (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64))))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im))) (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64))) (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))) (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))))) |
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 x.im x.im) (-.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) x.im)))) |
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) x.im) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 #s(literal 2 binary64) x.im (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (+.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 x.im #s(literal 2 binary64) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.im (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64)))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) #s(literal 2 binary64))))) |
(+.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
(+.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) x.im)) |
(*.f64 (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(*.f64 (/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im))) |
(*.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re)))) |
(*.f64 (+.f64 x.re x.im) (/.f64 (-.f64 x.re x.im) (+.f64 x.re x.im))) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (/.f64 #s(literal 1 binary64) (+.f64 x.re x.im))) |
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))) (-.f64 x.re (neg.f64 x.im))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) (fma.f64 x.re x.re (-.f64 (*.f64 (neg.f64 x.im) (neg.f64 x.im)) (*.f64 x.re (neg.f64 x.im))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re))) (neg.f64 (+.f64 x.re x.im))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (*.f64 (+.f64 x.re x.im) (fma.f64 x.re x.re (*.f64 x.im x.im)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re)) (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x.re x.im) (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (*.f64 (+.f64 x.re x.im) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.re x.re (*.f64 x.im x.im)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re))) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (+.f64 x.re x.im)) |
(fma.f64 #s(literal -1 binary64) x.im x.re) |
(fma.f64 x.im #s(literal -1 binary64) x.re) |
(-.f64 (+.f64 x.re #s(literal 0 binary64)) x.im) |
(-.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re))) (/.f64 (pow.f64 x.im #s(literal 3 binary64)) (fma.f64 (+.f64 x.re x.im) x.im (*.f64 x.re x.re)))) |
(-.f64 (/.f64 (*.f64 x.re x.re) (+.f64 x.re x.im)) (/.f64 (*.f64 x.im x.im) (+.f64 x.re x.im))) |
(-.f64 x.re x.im) |
(+.f64 x.re (neg.f64 x.im)) |
(+.f64 (neg.f64 x.im) x.re) |
(*.f64 (+.f64 x.re x.im) x.im) |
(*.f64 x.im (+.f64 x.re x.im)) |
(/.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re)) x.im) (-.f64 x.im x.re)) |
(/.f64 (*.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) x.im) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im))) |
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(/.f64 (*.f64 x.im (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im))) |
(/.f64 (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.im))) |
(/.f64 (+.f64 (pow.f64 x.im #s(literal 6 binary64)) (pow.f64 (*.f64 x.re x.im) #s(literal 3 binary64))) (+.f64 (pow.f64 x.im #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) (*.f64 x.re x.im))))) |
(fma.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)) (*.f64 x.re x.im)) |
(fma.f64 x.re x.im (*.f64 x.im x.im)) |
(fma.f64 x.im x.re (*.f64 x.im x.im)) |
(fma.f64 x.im x.im (*.f64 x.re x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.im)) |
(+.f64 (*.f64 x.im x.im) (*.f64 x.re x.im)) |
(*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re)) (/.f64 #s(literal 1 binary64) (-.f64 x.im x.re))) |
(*.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im)))) |
(/.f64 (neg.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re))) (neg.f64 (-.f64 x.im x.re))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (neg.f64 (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im)))) |
(/.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re)) (-.f64 x.im x.re)) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x.im x.re) (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im)) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.re x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.im)))) |
(/.f64 (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64))) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im))) |
(/.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)) |
(fma.f64 #s(literal -1 binary64) (neg.f64 x.im) x.re) |
(fma.f64 #s(literal 1 binary64) x.im x.re) |
(-.f64 (/.f64 (*.f64 x.im x.im) (-.f64 x.im x.re)) (/.f64 (*.f64 x.re x.re) (-.f64 x.im x.re))) |
(+.f64 x.re x.im) |
(+.f64 x.im x.re) |
(*.f64 (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64)))) |
(*.f64 (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64)))))) |
(/.f64 (-.f64 #s(literal 9 binary64) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64)))) (-.f64 #s(literal 3 binary64) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)))) |
(/.f64 (neg.f64 (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64))) (neg.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64)))) |
(/.f64 (neg.f64 (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64))))) (neg.f64 (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64)))))) |
(/.f64 (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64)) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64)) (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64)))) (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64)))))) |
(/.f64 (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64)))) (+.f64 #s(literal 9 binary64) (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))))) |
(/.f64 (+.f64 #s(literal 27 binary64) (/.f64 (neg.f64 (pow.f64 x.im #s(literal 6 binary64))) (pow.f64 x.re #s(literal 6 binary64)))) (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (/.f64 x.im x.re) (*.f64 (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(fma.f64 (*.f64 (/.f64 (neg.f64 x.im) x.re) x.im) (pow.f64 x.re #s(literal -1 binary64)) #s(literal 3 binary64)) |
(fma.f64 (*.f64 (neg.f64 x.im) x.im) (/.f64 #s(literal 1 binary64) (*.f64 x.re x.re)) #s(literal 3 binary64)) |
(fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64)) |
(fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) |
(fma.f64 (neg.f64 x.im) (/.f64 (/.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64)) |
(fma.f64 (neg.f64 x.im) (*.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 x.im x.re)) #s(literal 3 binary64)) |
(fma.f64 x.im (/.f64 (neg.f64 x.im) (*.f64 x.re x.re)) #s(literal 3 binary64)) |
(fma.f64 x.im (*.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 (neg.f64 x.im) x.re)) #s(literal 3 binary64)) |
(-.f64 (/.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re) #s(literal -3 binary64)))) |
(+.f64 (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re)) #s(literal 3 binary64)) |
(+.f64 #s(literal 3 binary64) (*.f64 (/.f64 x.im x.re) (/.f64 (neg.f64 x.im) x.re))) |
(*.f64 #s(literal 2 binary64) x.im) |
(*.f64 x.im #s(literal 2 binary64)) |
Compiled 6 190 to 714 computations (88.5% saved)
12 alts after pruning (4 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 185 | 4 | 189 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 2 | 4 |
| Done | 0 | 6 | 6 |
| Total | 187 | 12 | 199 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 86.8% | (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| 55.9% | (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) | |
| ✓ | 63.2% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
| ✓ | 93.5% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| ✓ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
| ✓ | 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
| ✓ | 49.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
| ✓ | 53.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
| 63.1% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (*.f64 (neg.f64 x.im) x.im) (/.f64 #s(literal 1 binary64) (*.f64 x.re x.re)) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) | |
| ✓ | 63.1% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| 17.7% | #s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) | |
| 33.2% | #s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
Compiled 971 to 309 computations (68.2% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.re x.re) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (*.f64 (neg.f64 x.im) x.im) (/.f64 #s(literal 1 binary64) (*.f64 x.re x.re)) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (* 3 x.re) x.re) (* (neg x.im) x.im)) (*.f64 (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64)) (*.f64 x.re x.re))) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im))) (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Outputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
3 calls:
| 13.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| 8.0ms | x.re |
| 7.0ms | x.im |
| Accuracy | Segments | Branch |
|---|---|---|
| 96.3% | 2 | x.re |
| 99.8% | 2 | x.im |
| 99.8% | 2 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 21 to 15 computations (28.6% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.re x.re) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
2 calls:
| 6.0ms | x.im |
| 5.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.5% | 3 | x.im |
| 99.8% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 20 to 13 computations (35% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
1 calls:
| 3.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.8% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 19 to 11 computations (42.1% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) x.im) (*.f64 #s(literal 2 binary64) x.im)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))) |
2 calls:
| 4.0ms | x.im |
| 3.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 89.2% | 2 | x.im |
| 99.2% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 20 to 13 computations (35% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) x.re)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64))) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
2 calls:
| 3.0ms | x.re |
| 3.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 83.4% | 2 | x.re |
| 96.8% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 20 to 13 computations (35% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
1 calls:
| 2.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 96.8% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 19 to 11 computations (42.1% saved)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) |
3 calls:
| 3.0ms | x.im |
| 2.0ms | x.re |
| 2.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 73.3% | 2 | x.re |
| 68.7% | 2 | x.im |
| 76.6% | 3 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 21 to 15 computations (28.6% saved)
Total -9.9b remaining (-23.1%)
Threshold costs -9.9b (-23.1%)
| Inputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (fma.f64 x.re x.re #s(literal 2 binary64)) x.im)) |
| Outputs |
|---|
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
3 calls:
| 2.0ms | x.re |
| 1.0ms | x.im |
| 1.0ms | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.2% | 1 | x.im |
| 33.2% | 1 | x.re |
| 33.2% | 1 | (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
Compiled 21 to 15 computations (28.6% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | 2.939992542781516e+105 | 3.298926022992865e+110 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | 2.939992542781516e+105 | 3.298926022992865e+110 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -8.14037327727102e-309 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -8.14037327727102e-309 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -8.14037327727102e-309 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -8.14037327727102e-309 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 839 |
| 1 | 107 | 839 |
| 2 | 113 | 839 |
| 3 | 116 | 839 |
| 4 | 117 | 839 |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64)))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
| Outputs |
|---|
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64)))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re)) (*.f64 (fma.f64 (+.f64 x.im x.re) (-.f64 x.re x.im) #s(literal 2 binary64)) x.im)) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.re)) x.re)) (*.f64 (fma.f64 (+.f64 x.im x.re) (-.f64 x.re x.im) #s(literal 2 binary64)) x.im))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal 5000000000000000455179995251842175052302269975877432785772728687420451447675667076077090048770806095282176 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.re)) x.re)) (*.f64 (fma.f64 (+.f64 x.im x.re) (-.f64 x.re x.im) #s(literal 2 binary64)) x.im))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) (*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) #s(literal 2 binary64))))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) (*.f64 (fma.f64 (+.f64 x.im x.re) (-.f64 x.re x.im) #s(literal 2 binary64)) x.im))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.im x.re))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 x.re (*.f64 (*.f64 x.im x.re) #s(literal 3 binary64)))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.re)) x.re)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
(if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal -1012011266536553/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)) (if (<=.f64 (+.f64 (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) x.re) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)) #s(literal +inf.0 binary64)) #s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 x.im (*.f64 x.re x.re))) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 #s(approx (+ (* (neg x.im) x.im) (* (* 3 x.re) x.re)) (*.f64 (neg.f64 x.im) x.im)) x.im)))) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
#s(approx (+ (* (- x.re x.im) (* (+ x.im x.re) x.im)) (* 2 x.im)) (*.f64 x.im (*.f64 x.re x.re))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 180 |
| 1 | 182 | 170 |
| 2 | 586 | 170 |
| 3 | 2560 | 170 |
| 4 | 6935 | 170 |
| 0 | 8454 | 170 |
| 0 | 40 | 228 |
| 0 | 60 | 228 |
| 1 | 216 | 212 |
| 0 | 1606 | 208 |
| 0 | 11 | 54 |
| 0 | 20 | 54 |
| 1 | 79 | 42 |
| 0 | 536 | 41 |
| 0 | 39 | 238 |
| 0 | 57 | 225 |
| 1 | 219 | 201 |
| 0 | 1346 | 196 |
| 0 | 39 | 239 |
| 0 | 61 | 239 |
| 1 | 219 | 211 |
| 0 | 1374 | 206 |
| 0 | 171 | 526 |
| 1 | 577 | 483 |
| 2 | 1811 | 464 |
| 3 | 6478 | 454 |
| 0 | 8570 | 443 |
| 0 | 174 | 577 |
| 1 | 595 | 547 |
| 2 | 1963 | 547 |
| 3 | 7042 | 547 |
| 0 | 8221 | 535 |
| 1× | fuel |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
Compiled 1 803 to 519 computations (71.2% saved)
(abs x.re)
Compiled 3 094 to 682 computations (78% saved)
Loading profile data...