
Time bar (total: 7.5s)
| 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)
| 1.2s | 8 256× | 0 | valid |
ival-mult: 516.0ms (77.2% of total)ival-add: 85.0ms (12.7% of total)ival-sub: 60.0ms (9% of total)ival-true: 6.0ms (0.9% of total)ival-assert: 3.0ms (0.4% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 16 | 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)) |
| 15 | 0 | - | 0 | - | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 8 | 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 | 16 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 54 | |
| ↳ | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 102 | |
| ↳ | (*.f64 x.im x.im) | overflow | 63 | |
| ↳ | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | overflow | 112 | |
| ↳ | (*.f64 x.im x.re) | overflow | 30 | |
| ↳ | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | overflow | 58 | |
| ↳ | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | overflow | 30 | |
| ↳ | (*.f64 x.re x.im) | overflow | 30 | |
-.f64 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | nan-rescue | 15 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 54 | |
| ↳ | (*.f64 x.im x.im) | overflow | 63 | |
*.f64 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | n*o | 8 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 32 | 0 |
| - | 0 | 224 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 32 | 0 | 0 |
| - | 0 | 0 | 224 |
| number | freq |
|---|---|
| 0 | 224 |
| 1 | 25 |
| 2 | 7 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 219.0ms | 512× | 0 | valid |
Compiled 153 to 37 computations (75.8% saved)
ival-add: 75.0ms (37% of total)ival-mult: 71.0ms (35% of total)ival-sub: 56.0ms (27.6% 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 | 300 | 85 |
| 3 | 1273 | 57 |
| 4 | 3603 | 55 |
| 5 | 5588 | 55 |
| 6 | 6486 | 55 |
| 7 | 6869 | 55 |
| 8 | 6989 | 55 |
| 9 | 7093 | 55 |
| 10 | 7100 | 55 |
| 0 | 11 | 19 |
| 0 | 20 | 19 |
| 1 | 34 | 17 |
| 2 | 69 | 17 |
| 3 | 155 | 11 |
| 4 | 367 | 11 |
| 5 | 1039 | 11 |
| 6 | 1954 | 11 |
| 7 | 5177 | 11 |
| 8 | 7566 | 11 |
| 0 | 8011 | 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)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) x.im) |
(abs x.re)
(negabs x.im)
Compiled 19 to 11 computations (42.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 87.6% | (+.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 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| cost-diff | 0 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | |
| cost-diff | 2 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 6 | (+.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)) |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 65 |
| 0 | 20 | 65 |
| 1 | 34 | 59 |
| 2 | 69 | 59 |
| 3 | 155 | 53 |
| 4 | 367 | 53 |
| 5 | 1039 | 53 |
| 6 | 1954 | 53 |
| 7 | 5177 | 53 |
| 8 | 7566 | 53 |
| 0 | 8011 | 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)) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) x.im) |
(*.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.1484375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 1.9571733729021694 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) | |
| accuracy | 3.347641800811441 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| accuracy | 4.078091973283293 | (+.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)) |
| 20.0ms | 256× | 0 | valid |
Compiled 67 to 13 computations (80.6% saved)
ival-mult: 9.0ms (73.8% of total)ival-add: 2.0ms (16.4% of total)ival-sub: 1.0ms (8.2% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 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 x.re x.im) (*.f64 x.im 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 (+.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)))) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 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)))) |
(* 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) |
(* (pow x.re 2) (+ 1 (* -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)))) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* (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) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 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 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
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)) (+ (* 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.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)) (+ (* 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.re)) |
| 2.0ms | x.im | @ | inf | ((+ (* (- (* 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.re)) |
| 2.0ms | x.re | @ | 0 | ((+ (* (- (* 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.re)) |
| 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)) (+ (* 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.re)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 198 |
| 1 | 182 | 192 |
| 2 | 585 | 192 |
| 3 | 2569 | 192 |
| 4 | 7315 | 192 |
| 0 | 8104 | 187 |
| 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)))) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 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)))) |
(* 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) |
(* (pow x.re 2) (+ 1 (* -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)))) |
(* x.im (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* (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) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 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 (* -1 (/ (pow x.re 2) (pow x.im 2)))))) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(neg.f64 (pow.f64 x.im #s(literal 3 binary64))) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(* 2 (* x.im x.re)) |
(*.f64 (*.f64 x.im x.re) #s(literal 2 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)) |
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(- (pow x.re 2) (pow x.im 2)) |
(*.f64 (-.f64 x.re x.im) (+.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) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(* (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) |
(*.f64 x.re x.re) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(* x.im (+ (* 2 (pow x.re 2)) (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(* 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)) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) |
(* (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 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
(* (pow x.im 3) (- (/ (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))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) 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 x.re x.im) #s(literal 3 binary64)) (/.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 x.re x.im) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 51 |
| 0 | 20 | 51 |
| 1 | 79 | 39 |
| 0 | 540 | 38 |
| 1× | iter limit |
| 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 x.re x.im) (*.f64 x.im 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 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
| Outputs |
|---|
(*.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 #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 (*.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 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 #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.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 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)) |
(+.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 (-.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 #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 351 to 322 computations (86.3% saved)
7 alts after pruning (7 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 83 | 7 | 90 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 84 | 7 | 91 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.6% | (+.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)) |
| ▶ | 50.1% | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| ▶ | 52.9% | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
| 79.9% | #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 (/.f64 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) | |
| ▶ | 49.7% | #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) #s(literal 3 binary64)) x.im)) |
| ▶ | 93.8% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
| 63.7% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (neg.f64 (pow.f64 x.im #s(literal 3 binary64)))) |
Compiled 366 to 210 computations (42.6% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (+.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) | |
| cost-diff | 2 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 6 | (+.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)) | |
| cost-diff | 0 | #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) | |
| cost-diff | 0 | (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) | |
| cost-diff | 2 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 3 | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| cost-diff | 0 | (*.f64 (*.f64 x.im x.re) x.re) | |
| cost-diff | 0 | #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) | |
| cost-diff | 1 | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| cost-diff | 2 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 0 | (*.f64 x.re x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) 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 x.re x.re) #s(literal 3 binary64)) x.im)) | |
| cost-diff | 0 | (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) | |
| cost-diff | 0 | (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) | |
| cost-diff | 0 | (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 321 |
| 0 | 56 | 313 |
| 1 | 100 | 293 |
| 2 | 198 | 293 |
| 3 | 463 | 279 |
| 4 | 1091 | 279 |
| 5 | 2565 | 279 |
| 6 | 5592 | 279 |
| 0 | 8096 | 277 |
| 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 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) |
x.im |
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)) |
#s(literal -3 binary64) |
(*.f64 x.re 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 x.re x.re) |
x.re |
#s(literal 3 binary64) |
x.im |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
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 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) |
(*.f64 x.re x.re) |
x.re |
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) |
(+.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 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
x.im |
x.re |
(*.f64 (-.f64 x.re x.im) x.im) |
(-.f64 x.re 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 |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) x.im)) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(*.f64 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) x.im) |
(neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) |
(fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) |
x.im |
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)) |
(*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) |
#s(literal -3 binary64) |
(*.f64 x.re 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 x.re x.re) #s(literal 3 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 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) |
(*.f64 x.re x.re) |
x.re |
#s(literal 3 binary64) |
x.im |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re))) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
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.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 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re))) x.im) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) |
(*.f64 x.re x.re) |
x.re |
x.im |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 #s(literal 2 binary64) (*.f64 (*.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) |
(+.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 (fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) x.im) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) |
(+.f64 x.im x.re) |
x.im |
x.re |
(*.f64 (-.f64 x.re x.im) x.im) |
(-.f64 x.re x.im) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) |
(*.f64 #s(literal 2 binary64) (*.f64 (*.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 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0234375 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| accuracy | 0.12109375 | (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) | |
| accuracy | 0.1484375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 4.078091973283293 | (+.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)) | |
| accuracy | 0.1484375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 1.9571733729021694 | (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) | |
| accuracy | 4.078091973283293 | (+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| accuracy | 30.913309228925268 | #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) | |
| accuracy | 0.1484375 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re) | |
| accuracy | 0.1484375 | (*.f64 (*.f64 x.im x.re) x.re) | |
| accuracy | 4.078091973283293 | (+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| accuracy | 30.062007314904758 | #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) | |
| accuracy | 0.0 | (*.f64 x.re x.re) | |
| accuracy | 0.17578125 | (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) | |
| accuracy | 6.860452553186857 | (*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) | |
| accuracy | 30.05055289613251 | #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) #s(literal 3 binary64)) x.im)) | |
| accuracy | 0.0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) | |
| accuracy | 0.17578125 | (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)) | |
| accuracy | 1.7499807332389217 | (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re))) | |
| accuracy | 2.1589464055320264 | (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
| 146.0ms | 256× | 0 | valid |
Compiled 282 to 27 computations (90.4% saved)
ival-add: 108.0ms (83.3% of total)ival-mult: 18.0ms (13.9% of total)ival-sub: 2.0ms (1.5% of total)ival-neg: 1.0ms (0.8% 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 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(fma.f64 x.im x.im (*.f64 #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 x.re x.re) #s(literal 3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 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)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 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 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
(*.f64 #s(literal -3 binary64) (*.f64 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)) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(* 3 (* x.im (pow x.re 2))) |
(* 3 (pow x.re 2)) |
(pow x.re 2) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(* 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)))))) |
x.im |
(+ x.im x.re) |
(* -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) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* (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 (/ 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 (- (* -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)))) |
(- (* -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))) |
(* (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 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (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 (+ 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 (/ (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 (/ x.re x.im)) 1))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 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)))) (+ (* x.im x.im) (* -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)) (* (* (* x.re x.re) 3) x.im) (* (* x.re x.re) 3) (* 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.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im 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.re) (* x.im x.im)) x.im) (- (* 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.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* -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)))) (+ (* x.im x.im) (* -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)) (* (* (* x.re x.re) 3) x.im) (* (* x.re x.re) 3) (* 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.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im 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.re) (* x.im x.im)) x.im) (- (* 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.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* -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)))) (+ (* x.im x.im) (* -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)) (* (* (* x.re x.re) 3) x.im) (* (* x.re x.re) 3) (* 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.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im 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.re) (* x.im x.im)) x.im) (- (* 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.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* -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)))) (+ (* x.im x.im) (* -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)) (* (* (* x.re x.re) 3) x.im) (* (* x.re x.re) 3) (* 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.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im 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.re) (* x.im x.im)) x.im) (- (* 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.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* -3 (* x.re x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) |
| 2.0ms | x.re | @ | 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)))) (+ (* x.im x.im) (* -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)) (* (* (* x.re x.re) 3) x.im) (* (* x.re x.re) 3) (* 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.im) (* x.im x.re)) x.re)) (* (- (* x.re x.re) (* x.im 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.re) (* x.im x.im)) x.im) (- (* 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.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* -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 | 180 | 624 |
| 1 | 618 | 597 |
| 2 | 2033 | 597 |
| 3 | 7420 | 597 |
| 0 | 8090 | 578 |
| 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)) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(* 3 (* x.im (pow x.re 2))) |
(* 3 (pow x.re 2)) |
(pow x.re 2) |
(* 2 (* x.im x.re)) |
(+ (* -1 (pow x.im 3)) (* x.im (pow x.re 2))) |
(* 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)))))) |
x.im |
(+ x.im x.re) |
(* -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) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* (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 (/ 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 (- (* -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)))) |
(- (* -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))) |
(* (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 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (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 (+ 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 (/ (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 (/ 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) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(pow x.im 2) |
(*.f64 x.im x.im) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.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)) |
(* 3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(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) |
(* x.im (pow x.re 2)) |
(*.f64 (*.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 (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) |
x.im |
(+ x.im x.re) |
(+.f64 x.im x.re) |
(* -3 (pow x.re 2)) |
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)) |
(* 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) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (/ 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 (- (* -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) |
(- (* -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))) |
(* 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 (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) |
(* (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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (*.f64 (fma.f64 (/.f64 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #s(literal -1 binary64)) x.im) x.im) |
(* (pow x.im 2) (+ 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)) (*.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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (+ 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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (/ 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 | 37 | 245 |
| 0 | 56 | 245 |
| 1 | 203 | 217 |
| 0 | 1286 | 212 |
| 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 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im) |
(neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) |
(fma.f64 x.im x.im (*.f64 #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 x.re x.re) #s(literal 3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 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)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re)) x.im) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 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 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
(*.f64 #s(literal -3 binary64) (*.f64 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 (neg.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) x.im)) |
(*.f64 (*.f64 x.im #s(literal -1 binary64)) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.im)) |
(*.f64 (neg.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) x.im) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) (neg.f64 x.im)) |
(*.f64 x.im (neg.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
(neg.f64 (*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.im)) |
(fma.f64 (*.f64 (neg.f64 x.im) x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.im (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.im)) |
(+.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im)) |
(+.f64 (*.f64 x.im (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im)) |
(*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) #s(literal -1 binary64)) |
(/.f64 (*.f64 #s(literal -1 binary64) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))))) (fma.f64 x.im x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) (+.f64 #s(literal 0 binary64) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)))) (-.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 #s(literal 0 binary64) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im) (-.f64 (*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)))))) |
(/.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))))) (fma.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)) (pow.f64 x.im #s(literal 6 binary64)))) (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 binary64)))) |
(/.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 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)) (pow.f64 x.im #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 binary64))))) |
(neg.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(fma.f64 (neg.f64 (*.f64 #s(literal -3 binary64) x.re)) x.re (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (neg.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 (*.f64 #s(literal -3 binary64) x.re) (neg.f64 x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal -1 binary64) (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) |
(fma.f64 #s(literal 3 binary64) (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) #s(literal -1 binary64) (*.f64 (*.f64 x.im x.im) #s(literal -1 binary64))) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 #s(literal -3 binary64) (neg.f64 (*.f64 x.re x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) #s(literal -1 binary64))) |
(fma.f64 x.im (neg.f64 x.im) (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) |
(fma.f64 x.re (*.f64 #s(literal 3 binary64) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (*.f64 x.im x.im)) |
(-.f64 #s(literal 0 binary64) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(-.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(+.f64 (*.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) #s(literal -1 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal -1 binary64))) |
(+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -1 binary64)) (*.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) #s(literal -1 binary64))) |
(+.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(+.f64 #s(literal 0 binary64) (neg.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 #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)))) (/.f64 #s(literal 1 binary64) (fma.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)) (pow.f64 x.im #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (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 x.re x.re) #s(literal -3 binary64)) (*.f64 x.im x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.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 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 binary64))) (fma.f64 #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (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 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)) (pow.f64 x.im #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 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 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)) (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 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))))) |
(/.f64 (fma.f64 #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (+.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x.re #s(literal 4 binary64))) (*.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) #s(literal -3 binary64))) (pow.f64 x.im #s(literal 4 binary64)))) |
(fma.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)) (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(fma.f64 x.im x.im (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im)) |
(-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (fma.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 x.im x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))))) |
(+.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) (*.f64 x.im x.im)) |
(+.f64 (*.f64 x.im x.im) (*.f64 (*.f64 x.re 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) (*.f64 x.re x.re)) x.im)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.im x.re) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 x.re (*.f64 x.re (*.f64 #s(literal 3 binary64) x.im))) |
(*.f64 (neg.f64 (*.f64 #s(literal -3 binary64) x.re)) x.re) |
(*.f64 (neg.f64 (*.f64 x.re x.re)) #s(literal -3 binary64)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (neg.f64 x.re)) |
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) |
(*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) |
(*.f64 #s(literal -3 binary64) (neg.f64 (*.f64 x.re x.re))) |
(*.f64 x.re (*.f64 #s(literal 3 binary64) x.re)) |
(neg.f64 (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x.re x.re) #s(literal -3 binary64))) |
(*.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 #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 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #s(literal 2 binary64))) (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re)))))) |
(/.f64 (+.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re))) (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #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) (*.f64 (*.f64 x.im x.re) x.re))) |
(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) (*.f64 (*.f64 x.im x.re) x.re))) |
(-.f64 (/.f64 (pow.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) #s(literal 2 binary64)) (-.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re)) (*.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) (*.f64 (*.f64 x.im x.re) x.re))) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) |
(*.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 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(*.f64 (+.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re)) x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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))) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) (*.f64 x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)))) |
(fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) |
(fma.f64 x.im #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) #s(literal 2 binary64)) (fma.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) 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 x.re x.re)) x.im (*.f64 (neg.f64 x.re) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im)) |
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.im) |
(*.f64 x.im #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re))) |
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) |
(*.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 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.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 (+.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 #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 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64))))) |
(/.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 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.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 (+.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 (+.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 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.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 (+.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 #s(literal 0 binary64) #s(literal 0 binary64)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.im x.re) x.im) (-.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 (+.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 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 (-.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.re x.im) (*.f64 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 #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.re x.im) (+.f64 x.im x.re)) x.im (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.re)) |
(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 (+.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 x.im (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.im x.re)) |
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re))) |
(*.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 (+.f64 x.im x.re) (-.f64 x.im x.re)) (*.f64 (-.f64 x.re x.im) 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))) (*.f64 (-.f64 x.re x.im) x.im)) (fma.f64 x.im x.im (*.f64 x.re (-.f64 x.re x.im)))) |
(/.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 (-.f64 x.re x.im) x.im) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) (fma.f64 x.im x.im (*.f64 x.re (-.f64 x.re x.im)))) |
(/.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.im) x.re)) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) x.re (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im)) |
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 (*.f64 x.im 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 (*.f64 x.re x.re) x.im (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.re (*.f64 (-.f64 x.re x.im) x.im))) |
(fma.f64 x.im (*.f64 x.re x.re) (*.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))) |
(fma.f64 x.re (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im))) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.im)) |
(fma.f64 x.re (*.f64 x.im x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 (-.f64 x.re x.im) x.im))) |
(+.f64 (*.f64 x.re (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im))) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.re)) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.re) (*.f64 (*.f64 (-.f64 x.re x.im) 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 (*.f64 x.im x.re) x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) 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 x.im x.im (*.f64 x.re (-.f64 x.re 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 x.im x.im (*.f64 x.re (-.f64 x.re 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 x.im x.im (*.f64 x.re (-.f64 x.re 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 x.im x.im (*.f64 x.re (-.f64 x.re x.im)))) |
(/.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im 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) |
(*.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 (/.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 (*.f64 x.re x.re) x.im (*.f64 (*.f64 x.im x.re) x.re)) |
(fma.f64 x.im (*.f64 x.re x.re) (*.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)) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.re) (*.f64 (*.f64 x.im x.re) x.re)) |
Compiled 10 337 to 960 computations (90.7% saved)
10 alts after pruning (8 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 325 | 8 | 333 |
| Fresh | 2 | 0 | 2 |
| Picked | 3 | 2 | 5 |
| Done | 0 | 0 | 0 |
| Total | 330 | 10 | 340 |
| Status | Accuracy | Program |
|---|---|---|
| 83.8% | (+.f64 (/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) | |
| ▶ | 93.6% | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| ▶ | 63.7% | #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))) |
| ✓ | 49.7% | #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) #s(literal 3 binary64)) x.im)) |
| 52.9% | #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))) | |
| ▶ | 50.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
| ✓ | 93.8% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
| ▶ | 75.0% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
| ▶ | 63.6% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
| 53.0% | #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 #s(literal 3 binary64) x.re) x.im))) |
Compiled 518 to 294 computations (43.2% 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 | (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) | |
| cost-diff | 0 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) | |
| cost-diff | 4 | (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) x.im) | |
| cost-diff | 0 | (*.f64 x.re x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) 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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) | |
| cost-diff | 0 | #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) | |
| cost-diff | 0 | (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) | |
| cost-diff | 0 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) | |
| cost-diff | 0 | (*.f64 (-.f64 x.re x.im) x.im) | |
| cost-diff | 0 | (+.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) | |
| cost-diff | 6 | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 43 | 361 |
| 0 | 67 | 353 |
| 1 | 129 | 353 |
| 2 | 246 | 353 |
| 3 | 577 | 323 |
| 4 | 1586 | 308 |
| 5 | 3837 | 308 |
| 0 | 8273 | 295 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
x.im |
x.re |
(*.f64 (-.f64 x.re x.im) x.im) |
(-.f64 x.re x.im) |
(*.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)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) |
(*.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.re x.re) |
x.re |
(*.f64 #s(literal 3 binary64) x.im) |
#s(literal 3 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im x.re) |
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)) (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 |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) x.re (*.f64 (neg.f64 x.im) x.im)) x.im) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) |
(+.f64 x.im x.re) |
(+.f64 x.re x.im) |
x.im |
x.re |
(*.f64 (-.f64 x.re x.im) x.im) |
(-.f64 x.re x.im) |
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re) x.re) |
(*.f64 x.re (+.f64 x.im x.im)) |
(*.f64 (*.f64 #s(literal 2 binary64) 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)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) |
(*.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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im))) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im)) |
(*.f64 x.re x.re) |
x.re |
(*.f64 #s(literal 3 binary64) x.im) |
#s(literal 3 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im))))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im)))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 x.im x.im)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im x.re) |
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)) (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.0 | (pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) | |
| accuracy | 0.0 | (neg.f64 x.im) | |
| accuracy | 23.23414766290609 | #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.10546875 | (/.f64 (/.f64 x.im x.re) x.re) | |
| accuracy | 1.427139168563122 | (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) | |
| accuracy | 2.1589464055320264 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) | |
| accuracy | 13.83416579460762 | (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) | |
| accuracy | 0.0 | (*.f64 x.re x.re) | |
| accuracy | 0.0 | (*.f64 #s(literal 3 binary64) x.im) | |
| accuracy | 6.752079324790736 | (*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) | |
| accuracy | 30.05055289613251 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) | |
| accuracy | 0.0 | (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) | |
| accuracy | 0.0 | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) | |
| accuracy | 2.1589464055320264 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) | |
| accuracy | 27.69176212453113 | #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) | |
| accuracy | 0.00390625 | (*.f64 (-.f64 x.re x.im) x.im) | |
| accuracy | 0.12109375 | (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) | |
| accuracy | 0.1484375 | (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re) | |
| accuracy | 4.078091973283293 | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| 111.0ms | 256× | 0 | valid |
Compiled 258 to 36 computations (86% saved)
ival-mult: 22.0ms (51% of total)ival-add: 7.0ms (16.2% of total)ival-pow: 6.0ms (13.9% of total)ival-div: 3.0ms (7% of total)ival-sub: 2.0ms (4.6% of total)ival-neg: 2.0ms (4.6% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
(*.f64 (-.f64 x.re 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.re x.re) |
(*.f64 #s(literal 3 binary64) x.im) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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)) (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) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -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)))))) |
x.im |
(+ x.im x.re) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* x.im x.re)) |
(+ (* -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 (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(* 3 (* x.im (pow x.re 2))) |
(pow x.re 2) |
(* 2 (* x.im (pow x.re 2))) |
(/ (pow x.im 2) (pow x.re 2)) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/ x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (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 (/ x.im x.re))) |
(* x.im x.re) |
(* x.re (+ x.im (* -1 (/ (pow x.im 2) x.re)))) |
(* (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))))) |
(* -3 (pow x.re 2)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
-3 |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(* (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 (- (* -1 (/ x.im x.re)) 1))) |
(* -1 (* x.re (+ (* -1 x.im) (/ (pow x.im 2) x.re)))) |
(* x.im (+ (* 2 (pow x.re 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.im (+ x.re (* -1 x.im))) |
(* 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)))) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(* 3 x.im) |
(* -1 x.im) |
(* (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 (+ 1 (/ x.re x.im))) |
(* (pow x.im 2) (- (/ x.re x.im) 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 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (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 (/ 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)))))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 49.0ms | x.im | @ | inf | ((+ (* (+ x.im x.re) (* (- x.re x.im) x.im)) (* (* x.re (+ x.im x.im)) x.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* (- x.re x.im) x.im) (+ (* (- (* 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)))) (+ (* x.im x.im) (* -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)) (* (* x.re x.re) (* 3 x.im)) (* x.re x.re) (* 3 x.im) (* (+ (* (/ (/ x.im x.re) x.re) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -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)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (/ (/ x.im x.re) x.re)) |
| 4.0ms | x.re | @ | inf | ((+ (* (+ x.im x.re) (* (- x.re x.im) x.im)) (* (* x.re (+ x.im x.im)) x.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* (- x.re x.im) x.im) (+ (* (- (* 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)))) (+ (* x.im x.im) (* -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)) (* (* x.re x.re) (* 3 x.im)) (* x.re x.re) (* 3 x.im) (* (+ (* (/ (/ x.im x.re) x.re) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -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)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (/ (/ x.im x.re) x.re)) |
| 3.0ms | x.im | @ | -inf | ((+ (* (+ x.im x.re) (* (- x.re x.im) x.im)) (* (* x.re (+ x.im x.im)) x.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* (- x.re x.im) x.im) (+ (* (- (* 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)))) (+ (* x.im x.im) (* -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)) (* (* x.re x.re) (* 3 x.im)) (* x.re x.re) (* 3 x.im) (* (+ (* (/ (/ x.im x.re) x.re) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -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)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (/ (/ x.im x.re) x.re)) |
| 3.0ms | x.im | @ | 0 | ((+ (* (+ x.im x.re) (* (- x.re x.im) x.im)) (* (* x.re (+ x.im x.im)) x.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* (- x.re x.im) x.im) (+ (* (- (* 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)))) (+ (* x.im x.im) (* -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)) (* (* x.re x.re) (* 3 x.im)) (* x.re x.re) (* 3 x.im) (* (+ (* (/ (/ x.im x.re) x.re) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -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)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (/ (/ x.im x.re) x.re)) |
| 2.0ms | x.re | @ | -inf | ((+ (* (+ x.im x.re) (* (- x.re x.im) x.im)) (* (* x.re (+ x.im x.im)) x.re)) (* (+ x.im x.re) (* (- x.re x.im) x.im)) (+ x.im x.re) (* (- x.re x.im) x.im) (+ (* (- (* 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)))) (+ (* x.im x.im) (* -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)) (* (* x.re x.re) (* 3 x.im)) (* x.re x.re) (* 3 x.im) (* (+ (* (/ (/ x.im x.re) x.re) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -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)) (pow (neg x.im) 3) (neg x.im) (* (* x.re (+ x.im x.im)) x.re) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (/ (/ x.im x.re) x.re)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 184 | 827 |
| 1 | 626 | 668 |
| 2 | 2089 | 590 |
| 3 | 7492 | 590 |
| 0 | 8026 | 571 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* -1 (pow x.im 3)) |
(+ (* -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)))))) |
x.im |
(+ x.im x.re) |
(* -1 (pow x.im 2)) |
(+ (* -1 (pow x.im 2)) (* x.im x.re)) |
(+ (* -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 (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(* 3 (* x.im (pow x.re 2))) |
(pow x.re 2) |
(* 2 (* x.im (pow x.re 2))) |
(/ (pow x.im 2) (pow x.re 2)) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/ x.im (pow x.re 2)) |
(* (pow x.re 2) (+ x.im (* 2 x.im))) |
(* (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 (/ x.im x.re))) |
(* x.im x.re) |
(* x.re (+ x.im (* -1 (/ (pow x.im 2) x.re)))) |
(* (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))))) |
(* -3 (pow x.re 2)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
-3 |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(* (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 (- (* -1 (/ x.im x.re)) 1))) |
(* -1 (* x.re (+ (* -1 x.im) (/ (pow x.im 2) x.re)))) |
(* x.im (+ (* 2 (pow x.re 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.im (+ x.re (* -1 x.im))) |
(* 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)))) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(* 3 x.im) |
(* -1 x.im) |
(* (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 (+ 1 (/ x.re x.im))) |
(* (pow x.im 2) (- (/ x.re x.im) 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 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (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 (/ 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)))))) |
| Outputs |
|---|
(* -1 (pow x.im 3)) |
(pow.f64 (neg.f64 x.im) #s(literal 3 binary64)) |
(+ (* -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 x.re x.re) #s(literal 3 binary64) (*.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) |
x.im |
(+ x.im x.re) |
(+.f64 x.re x.im) |
(* -1 (pow x.im 2)) |
(*.f64 (neg.f64 x.im) x.im) |
(+ (* -1 (pow x.im 2)) (* x.im x.re)) |
(*.f64 (-.f64 x.re x.im) x.im) |
(+ (* -1 (pow x.im 3)) (* (pow x.re 2) (+ x.im (* 2 x.im)))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.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 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(pow x.im 2) |
(*.f64 x.im x.im) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.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)) |
(pow x.re 2) |
(*.f64 x.re x.re) |
(* 2 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 2 binary64)) x.im) |
(/ (pow x.im 2) (pow x.re 2)) |
(*.f64 (/.f64 x.im x.re) (/.f64 x.im x.re)) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) x.re) |
(/ x.im (pow x.re 2)) |
(/.f64 x.im (*.f64 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 (+ (* 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 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.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 (/ x.im x.re))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(* x.im x.re) |
(*.f64 x.re x.im) |
(* x.re (+ x.im (* -1 (/ (pow x.im 2) x.re)))) |
(*.f64 (fma.f64 (neg.f64 x.im) (/.f64 x.im x.re) x.im) x.re) |
(* (pow x.re 2) (+ x.im (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 2 x.im)))) |
(*.f64 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.f64 x.re x.re)) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(*.f64 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.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 (*.f64 (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64)) x.re) x.re) |
(* -3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.im x.re) (/.f64 x.im x.re) #s(literal -3 binary64)) x.re) x.re) |
-3 |
#s(literal -3 binary64) |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(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)))) (/ (pow x.im 3) x.re)) x.re)) (* 2 x.im)))) |
(*.f64 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.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 (- (* -1 (/ x.im x.re)) 1))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(* -1 (* x.re (+ (* -1 x.im) (/ (pow x.im 2) x.re)))) |
(*.f64 (fma.f64 (neg.f64 x.im) (/.f64 x.im x.re) x.im) 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 (+ (* 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 x.re x.re) #s(literal 3 binary64) (*.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.im (+ x.re (* -1 x.im))) |
(*.f64 (-.f64 x.re x.im) x.im) |
(* x.im (+ (* -1 (pow x.im 2)) (+ (* 2 (pow x.re 2)) (pow x.re 2)))) |
(*.f64 (fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.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 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) x.im) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(fma.f64 (*.f64 x.re x.re) #s(literal 3 binary64) (*.f64 (neg.f64 x.im) x.im)) |
(* 3 x.im) |
(*.f64 #s(literal 3 binary64) x.im) |
(* -1 x.im) |
(neg.f64 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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (+ 1 (/ x.re x.im))) |
(fma.f64 (/.f64 x.re x.im) x.im x.im) |
(* (pow x.im 2) (- (/ x.re x.im) 1)) |
(*.f64 (*.f64 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) 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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (*.f64 (fma.f64 (/.f64 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #s(literal -1 binary64)) x.im) x.im) |
(* (pow x.im 2) (+ 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)) (*.f64 x.im x.im)) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (pow x.im 2))))) |
(*.f64 (fma.f64 x.im (/.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (/.f64 x.im (*.f64 x.re x.re))) x.im) |
(* -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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 (/ x.re x.im)) 1))) |
(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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #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 #s(literal 3 binary64) x.im) (*.f64 (/.f64 x.re x.im) x.re) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 43 | 308 |
| 0 | 67 | 300 |
| 1 | 256 | 276 |
| 0 | 1473 | 264 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) |
(+.f64 x.im x.re) |
(*.f64 (-.f64 x.re 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.re x.re) |
(*.f64 #s(literal 3 binary64) x.im) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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)) (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) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
| Outputs |
|---|
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 3 binary64))))) |
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im)) (*.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 x.re #s(literal 2 binary64)) x.im (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 x.im (+.f64 x.re x.im)) (-.f64 x.re x.im) (*.f64 #s(literal 2 binary64) 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)))) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 #s(literal 2 binary64) (*.f64 x.re x.im) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 #s(literal 2 binary64) x.im (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im)) x.im (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 x.re x.re) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 #s(literal 2 binary64) x.im) x.re (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 x.re (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 x.im (+.f64 x.re x.re) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 x.im #s(literal 2 binary64) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 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 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)))) |
(+.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im))) |
(+.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) |
(*.f64 (*.f64 x.im (+.f64 x.re x.im)) (-.f64 x.re x.im)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im)) x.im) |
(*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) |
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im))) |
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) |
(*.f64 x.im (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im))) |
(/.f64 (*.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64))) x.im) (fma.f64 x.re x.re (*.f64 x.im x.im))) |
(/.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.re x.re (*.f64 x.im x.im)) (pow.f64 x.re #s(literal 4 binary64)))) |
(/.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re)) (*.f64 (-.f64 x.re x.im) 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))) (*.f64 (-.f64 x.re x.im) x.im)) (fma.f64 x.re (-.f64 x.re x.im) (*.f64 x.im x.im))) |
(/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (+.f64 x.re x.im) (-.f64 x.im x.re))) (-.f64 x.im x.re)) |
(/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) 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 x.im (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (pow.f64 x.im #s(literal 4 binary64)))) (fma.f64 x.re x.re (*.f64 x.im x.im))) |
(/.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.re x.re (*.f64 x.im x.im)) (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 (*.f64 (-.f64 x.re x.im) x.im) x.re (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im)) |
(fma.f64 (*.f64 (-.f64 x.re x.im) x.im) x.im (*.f64 (*.f64 (-.f64 x.re x.im) x.im) x.re)) |
(fma.f64 x.re (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im))) |
(fma.f64 x.im (*.f64 x.re x.re) (*.f64 x.im (*.f64 (neg.f64 x.im) x.im))) |
(fma.f64 x.im (*.f64 (-.f64 x.re x.im) x.im) (*.f64 x.re (*.f64 (-.f64 x.re x.im) x.im))) |
(+.f64 (*.f64 x.re (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im))) |
(+.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 (-.f64 x.re 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 (*.f64 (-.f64 x.re x.im) x.im) x.re) (*.f64 (*.f64 (-.f64 x.re 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.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.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 (*.f64 (-.f64 x.re x.im) (+.f64 x.re x.im)) (-.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.re x.im) |
(+.f64 x.im x.re) |
(*.f64 (-.f64 x.re x.im) x.im) |
(*.f64 x.im (-.f64 x.re x.im)) |
(/.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 x.re (*.f64 x.im (+.f64 x.re x.im)))) |
(/.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 x.re (*.f64 x.im (+.f64 x.re x.im)))) |
(/.f64 (*.f64 (*.f64 (+.f64 x.re x.im) x.im) (-.f64 x.re x.im)) (+.f64 x.re x.im)) |
(fma.f64 x.re x.im (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 x.im x.re (*.f64 (neg.f64 x.im) x.im)) |
(+.f64 (*.f64 x.re 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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) |
(*.f64 #s(literal -1 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) x.im)) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (neg.f64 x.im)) |
(*.f64 x.im (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) |
(neg.f64 (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) x.im)) |
(*.f64 #s(literal -1 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) #s(literal -1 binary64)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) (+.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (*.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
(-.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) |
(+.f64 #s(literal 0 binary64) (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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.re x.re) x.im) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) x.im) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.im) x.re) x.re) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.im (*.f64 x.re x.re))) |
(*.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.im) x.re)) |
(*.f64 x.im (*.f64 #s(literal 3 binary64) (*.f64 x.re 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 #s(literal 3 binary64) x.im) |
(*.f64 x.im #s(literal 3 binary64)) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(*.f64 (*.f64 x.re x.re) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64))) |
(*.f64 x.re (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re)) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 x.re x.re)) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64))) (*.f64 x.re x.re)) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64))) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64)))) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(+.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im 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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)))) |
(*.f64 #s(literal -1 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) x.im)) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) (neg.f64 x.im)) |
(*.f64 x.im (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)))) |
(neg.f64 (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) x.im)) |
(*.f64 #s(literal -1 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) #s(literal -1 binary64)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)))) (+.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) (*.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)))))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
(-.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
(+.f64 #s(literal 0 binary64) (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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)) (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 (*.f64 (neg.f64 x.im) x.im) (+.f64 #s(literal 0 binary64) x.im)) |
(/.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)))) |
(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.re x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64))))) |
(*.f64 #s(literal 2 binary64) (*.f64 x.re x.im)) |
(*.f64 #s(literal 2 binary64) x.im) |
(*.f64 (*.f64 x.re 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.re (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.im #s(literal 2 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 3 binary64))) x.re) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #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.re x.im) #s(literal 3 binary64)))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #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 (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.re x.im) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64))))) |
(/.f64 #s(literal 0 binary64) #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.re x.im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x.im)) |
(/.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.re x.im) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.re x.im) x.re (*.f64 (*.f64 x.re x.im) x.re)) |
(fma.f64 x.re (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.im))) |
(fma.f64 x.re x.im (*.f64 x.re x.im)) |
(fma.f64 x.im x.re (*.f64 x.re x.im)) |
(-.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.re x.im) #s(literal 2 binary64)) #s(literal 0 binary64)) (/.f64 (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)) #s(literal 0 binary64))) |
(+.f64 (*.f64 (*.f64 x.re x.im) x.re) (*.f64 (*.f64 x.re x.im) x.re)) |
(+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im))) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im)) |
(+.f64 x.im x.im) |
(*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(*.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))))) |
(/.f64 (-.f64 #s(literal 9 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64))) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64))) (neg.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64)))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))) (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64))) (+.f64 #s(literal 9 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 3 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) #s(literal 9 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 (/.f64 x.im x.re) x.im) (pow.f64 x.re #s(literal -1 binary64)) #s(literal -3 binary64)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(fma.f64 (/.f64 x.im x.re) (/.f64 x.im x.re) #s(literal -3 binary64)) |
(fma.f64 x.im (/.f64 (/.f64 x.im x.re) x.re) #s(literal -3 binary64)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal 2 binary64)) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(+.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)) |
(+.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) |
(*.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 x.im x.re)) |
(*.f64 #s(literal 1 binary64) (/.f64 (/.f64 x.im x.re) x.re)) |
(*.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 #s(literal 1 binary64) (neg.f64 x.re))) |
(*.f64 (/.f64 x.im x.re) (pow.f64 x.re #s(literal -1 binary64))) |
(*.f64 x.im (/.f64 (pow.f64 x.re #s(literal -1 binary64)) x.re)) |
(*.f64 x.im (*.f64 (pow.f64 x.re #s(literal -1 binary64)) (pow.f64 x.re #s(literal -1 binary64)))) |
(*.f64 x.im (/.f64 #s(literal 1 binary64) (*.f64 x.re x.re))) |
(pow.f64 (*.f64 (/.f64 x.re x.im) x.re) #s(literal -1 binary64)) |
(/.f64 (*.f64 (/.f64 x.im x.re) #s(literal 1 binary64)) x.re) |
(/.f64 (*.f64 (neg.f64 x.im) #s(literal 1 binary64)) (*.f64 (neg.f64 x.re) x.re)) |
(/.f64 (*.f64 x.im #s(literal 1 binary64)) (*.f64 x.re x.re)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (/.f64 x.re x.im) x.re))) |
(/.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 x.re x.im)) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (/.f64 x.re x.im) x.re) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x.re x.re) x.im)) |
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 x.re x.im) x.re)) |
(/.f64 (/.f64 (neg.f64 x.im) x.re) (neg.f64 x.re)) |
(/.f64 (neg.f64 x.im) (*.f64 x.re (neg.f64 x.re))) |
(/.f64 (neg.f64 x.im) (neg.f64 (*.f64 x.re x.re))) |
(/.f64 (/.f64 x.im x.re) (neg.f64 (neg.f64 x.re))) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im (*.f64 x.re x.re)) |
(neg.f64 (/.f64 (/.f64 (neg.f64 x.im) x.re) x.re)) |
(neg.f64 (/.f64 (/.f64 x.im x.re) (neg.f64 x.re))) |
Compiled 9 924 to 1 143 computations (88.5% saved)
12 alts after pruning (6 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 287 | 4 | 291 |
| Fresh | 1 | 2 | 3 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 2 | 2 |
| Total | 289 | 12 | 301 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 61.0% | (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
| ✓ | 93.6% | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| ✓ | 63.7% | #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))) |
| ✓ | 49.7% | #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) #s(literal 3 binary64)) x.im)) |
| ▶ | 52.9% | #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))) |
| ✓ | 50.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
| 64.7% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.f64 x.re x.re))) | |
| ✓ | 93.8% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
| ▶ | 65.7% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
| ▶ | 85.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) |
| ✓ | 63.6% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
| ▶ | 53.0% | #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 #s(literal 3 binary64) x.re) x.im))) |
Compiled 544 to 306 computations (43.8% saved)
| 1× | egg-herbie |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) | |
| cost-diff | 0 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) | |
| cost-diff | 4 | (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) | |
| cost-diff | 0 | (+.f64 x.re x.im) | |
| cost-diff | 0 | (*.f64 x.im (+.f64 x.re x.im)) | |
| cost-diff | 0 | (-.f64 x.re x.im) | |
| cost-diff | 2 | (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 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) x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #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.im x.re) x.re) #s(literal 3 binary64))) | |
| cost-diff | 0 | (*.f64 #s(literal 3 binary64) x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) | |
| cost-diff | 0 | (*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) 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 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im))) | |
| cost-diff | 0 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) | |
| cost-diff | 2 | (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) | |
| cost-diff | 2 | (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 421 |
| 0 | 74 | 421 |
| 1 | 137 | 413 |
| 2 | 236 | 412 |
| 3 | 527 | 388 |
| 4 | 1233 | 378 |
| 5 | 3381 | 357 |
| 6 | 6333 | 357 |
| 0 | 8329 | 337 |
| 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im x.re) |
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 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im))) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
x.re |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 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 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal 3 binary64) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
x.re |
x.im |
(*.f64 x.im (+.f64 x.re x.im)) |
(+.f64 x.re x.im) |
(*.f64 #s(literal 2 binary64) x.im) |
#s(literal 2 binary64) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) |
(/.f64 x.im (*.f64 x.re x.re)) |
x.im |
(*.f64 x.re x.re) |
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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re)) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) |
(fma.f64 (/.f64 x.im x.re) x.im (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im x.re) |
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 x.re (*.f64 (*.f64 #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.re x.re) #s(literal 3 binary64)) x.im)) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
x.re |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) |
(*.f64 #s(literal 3 binary64) x.re) |
#s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal 3 binary64) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 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 x.im (+.f64 x.re x.im)) |
(*.f64 (+.f64 x.im x.re) x.im) |
(+.f64 x.re x.im) |
(+.f64 x.im x.re) |
(*.f64 #s(literal 2 binary64) x.im) |
#s(literal 2 binary64) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))))) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(*.f64 (neg.f64 x.im) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) |
#s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im))) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) |
(fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(/.f64 x.im (*.f64 x.re x.re)) |
(/.f64 (/.f64 x.im x.re) x.re) |
x.im |
(*.f64 x.re x.re) |
x.re |
#s(literal -3 binary64) |
Found 20 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 1.427139168563122 | (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) | |
| accuracy | 2.1589464055320264 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) | |
| accuracy | 7.483683424498808 | (/.f64 x.im (*.f64 x.re x.re)) | |
| accuracy | 13.83416579460762 | (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) | |
| accuracy | 0.0 | (+.f64 x.re x.im) | |
| accuracy | 0.0 | (*.f64 #s(literal 2 binary64) x.im) | |
| accuracy | 0.01171875 | (*.f64 x.im (+.f64 x.re x.im)) | |
| accuracy | 0.10546875 | (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) | |
| accuracy | 0.0 | (*.f64 x.im x.re) | |
| accuracy | 0.1484375 | (*.f64 (*.f64 x.im x.re) x.re) | |
| accuracy | 0.1796875 | (*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) | |
| accuracy | 30.05055289613251 | #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))) | |
| accuracy | 0.0 | (*.f64 #s(literal 3 binary64) x.re) | |
| accuracy | 0.15234375 | (*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) | |
| accuracy | 0.43308632039220296 | (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) | |
| accuracy | 30.05055289613251 | #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 #s(literal 3 binary64) x.re) x.im))) | |
| accuracy | 1.427139168563122 | (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) | |
| accuracy | 2.1589464055320264 | (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im) | |
| accuracy | 4.283562072033349 | (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) | |
| accuracy | 4.34447641290237 | (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
| 102.0ms | 241× | 0 | valid |
| 15.0ms | 3× | 1 | valid |
| 4.0ms | 6× | 3 | valid |
| 2.0ms | 3× | 4 | valid |
| 2.0ms | 3× | 2 | valid |
Compiled 283 to 41 computations (85.5% saved)
ival-mult: 73.0ms (68.7% of total)adjust: 16.0ms (15.1% of total)ival-add: 8.0ms (7.5% of total)ival-div: 5.0ms (4.7% of total)ival-sub: 2.0ms (1.9% of total)ival-neg: 1.0ms (0.9% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 #s(literal 3 binary64) x.re) x.im))) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) 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 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
(*.f64 x.im (+.f64 x.re x.im)) |
(+.f64 x.re x.im) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(*.f64 #s(literal 2 binary64) x.im) |
(/.f64 x.im (*.f64 x.re x.re)) |
(fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) |
| Outputs |
|---|
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(/ (pow x.im 2) x.re) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) x.re) |
(* -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 (* x.im x.re)) |
(* 3 x.re) |
(* x.im (pow x.re 2)) |
(* 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) |
(+ (* x.im x.re) (pow x.im 2)) |
x.im |
(+ x.im x.re) |
(* -1 (pow x.im 2)) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(/ (pow x.im 2) (pow x.re 2)) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/ x.im (pow x.re 2)) |
(* -3 (pow x.re 2)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* -3 x.re) |
(* x.re (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* (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) (+ 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 (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
-3 |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(* -1 (* x.re (+ 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))) |
(+ (* -3 x.re) (/ (pow x.im 2) x.re)) |
(* 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)) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(* 2 x.im) |
(* (pow x.im 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (pow x.im 2) (+ (* -3 (/ x.re (pow x.im 2))) (/ 1 x.re))) |
(* (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 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (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))))))) |
(* -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.im | @ | inf | ((* (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) x.re) (* (+ (* (/ (/ x.im x.re) x.re) 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) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* x.re (* (* 3 x.re) x.im)) (* (* 3 x.re) 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)) (* (* (* x.im x.re) x.re) 3) (* (* x.im x.re) x.re) (* 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.re x.im) (* (+ (* (/ x.im (* x.re x.re)) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (* 2 x.im) (/ x.im (* x.re x.re)) (+ (* (/ x.im (* x.re x.re)) x.im) -3)) |
| 4.0ms | x.im | @ | -inf | ((* (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) x.re) (* (+ (* (/ (/ x.im x.re) x.re) 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) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* x.re (* (* 3 x.re) x.im)) (* (* 3 x.re) 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)) (* (* (* x.im x.re) x.re) 3) (* (* x.im x.re) x.re) (* 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.re x.im) (* (+ (* (/ x.im (* x.re x.re)) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (* 2 x.im) (/ x.im (* x.re x.re)) (+ (* (/ x.im (* x.re x.re)) x.im) -3)) |
| 3.0ms | x.re | @ | -inf | ((* (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) x.re) (* (+ (* (/ (/ x.im x.re) x.re) 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) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* x.re (* (* 3 x.re) x.im)) (* (* 3 x.re) 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)) (* (* (* x.im x.re) x.re) 3) (* (* x.im x.re) x.re) (* 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.re x.im) (* (+ (* (/ x.im (* x.re x.re)) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (* 2 x.im) (/ x.im (* x.re x.re)) (+ (* (/ x.im (* x.re x.re)) x.im) -3)) |
| 3.0ms | x.re | @ | inf | ((* (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) x.re) (* (+ (* (/ (/ x.im x.re) x.re) 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) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* x.re (* (* 3 x.re) x.im)) (* (* 3 x.re) 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)) (* (* (* x.im x.re) x.re) 3) (* (* x.im x.re) x.re) (* 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.re x.im) (* (+ (* (/ x.im (* x.re x.re)) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (* 2 x.im) (/ x.im (* x.re x.re)) (+ (* (/ x.im (* x.re x.re)) x.im) -3)) |
| 3.0ms | x.re | @ | 0 | ((* (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) x.re) (* (+ (* (/ (/ x.im x.re) x.re) 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) (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (* x.re (* (* 3 x.re) x.im)) (* (* 3 x.re) 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)) (* (* (* x.im x.re) x.re) 3) (* (* x.im x.re) x.re) (* 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.re x.im) (* (+ (* (/ x.im (* x.re x.re)) x.im) -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)) (* (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) x.im) (neg (+ (* x.im x.im) (* -3 (* x.re x.re)))) (+ (* (/ (/ x.im x.re) x.re) x.im) -3) (* 2 x.im) (/ x.im (* x.re x.re)) (+ (* (/ x.im (* x.re x.re)) x.im) -3)) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 189 | 703 |
| 1 | 632 | 657 |
| 2 | 2020 | 638 |
| 3 | 7146 | 630 |
| 0 | 8402 | 601 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(pow x.im 2) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(/ (pow x.im 2) x.re) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) x.re) |
(* -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 (* x.im x.re)) |
(* 3 x.re) |
(* x.im (pow x.re 2)) |
(* 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) |
(+ (* x.im x.re) (pow x.im 2)) |
x.im |
(+ x.im x.re) |
(* -1 (pow x.im 2)) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(/ (pow x.im 2) (pow x.re 2)) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/ x.im (pow x.re 2)) |
(* -3 (pow x.re 2)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* -3 x.re) |
(* x.re (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(* (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) (+ 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 (pow x.re 2)) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
-3 |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(* -1 (* x.re (+ 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))) |
(+ (* -3 x.re) (/ (pow x.im 2) x.re)) |
(* 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)) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(* 2 x.im) |
(* (pow x.im 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(* (pow x.im 2) (+ (* -3 (/ x.re (pow x.im 2))) (/ 1 x.re))) |
(* (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 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (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))))))) |
(* -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 |
|---|
(pow x.im 2) |
(*.f64 x.im x.im) |
(+ (* -3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) |
(/ (pow x.im 2) x.re) |
(/.f64 (*.f64 x.im x.im) x.re) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) x.re) |
(/.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(* -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 #s(literal 3 binary64) x.re) x.re)) 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 #s(literal 3 binary64) x.re) x.re)) x.im) |
(* 3 (* x.im (pow x.re 2))) |
(*.f64 (*.f64 (*.f64 x.re x.re) x.im) #s(literal 3 binary64)) |
(* 3 (* x.im x.re)) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.im)) |
(* 3 x.re) |
(*.f64 #s(literal 3 binary64) x.re) |
(* x.im (pow x.re 2)) |
(*.f64 (*.f64 x.re 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) |
(+ (* 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)) |
(*.f64 (neg.f64 x.im) x.im) |
(- (* 3 (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(/ (pow x.im 2) (pow x.re 2)) |
(/.f64 (/.f64 (*.f64 x.im x.im) x.re) x.re) |
(/ (+ (* -3 (pow x.re 2)) (pow x.im 2)) (pow x.re 2)) |
(/.f64 (/.f64 (fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) x.re) |
(/ x.im (pow x.re 2)) |
(/.f64 x.im (*.f64 x.re x.re)) |
(* -3 (pow x.re 2)) |
(*.f64 (*.f64 x.re x.re) #s(literal -3 binary64)) |
(* (pow x.re 2) (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) x.re) x.re) |
(* -3 x.re) |
(*.f64 #s(literal -3 binary64) x.re) |
(* x.re (- (/ (pow x.im 2) (pow x.re 2)) 3)) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) 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 x.im (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64))) x.re) x.re) |
(* (pow x.re 2) (+ (* -1 (/ (pow x.im 3) (pow x.re 2))) (* 3 x.im))) |
(*.f64 (*.f64 (*.f64 x.im (fma.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 x.im x.re) #s(literal 3 binary64))) 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))) (+ (* 2 (/ x.im (pow x.re 2))) (/ (* x.im (+ x.im (* -1 x.im))) x.re))))) |
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im #s(literal 2 binary64)) x.im) x.re) x.re) x.im) 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 (+ x.im (/ (pow x.im 2) x.re))) |
(*.f64 (fma.f64 (/.f64 x.im x.re) x.im x.im) x.re) |
(* x.re (+ 1 (/ x.im x.re))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(* 3 (pow x.re 2)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re) |
(* (pow x.re 2) (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (*.f64 (neg.f64 x.re) x.re) (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64))) |
-3 |
#s(literal -3 binary64) |
(- (/ (pow x.im 2) (pow x.re 2)) 3) |
(fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) |
(* -1 (* x.re (+ 3 (* -1 (/ (pow x.im 2) (pow x.re 2)))))) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) x.re) |
(* (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)))) |
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 (*.f64 (fma.f64 (neg.f64 x.im) x.im #s(literal 2 binary64)) x.im) x.re) x.re) x.im) 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) (* -1 (/ (pow x.im 2) x.re))))) |
(*.f64 (fma.f64 (/.f64 x.im x.re) x.im x.im) x.re) |
(* -1 (* x.re (- (* -1 (/ x.im x.re)) 1))) |
(fma.f64 (/.f64 x.im x.re) x.re x.re) |
(+ (* -3 x.re) (/ (pow x.im 2) x.re)) |
(fma.f64 (/.f64 x.im x.re) x.im (*.f64 #s(literal -3 binary64) 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 #s(literal 3 binary64) x.re) x.re)) 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 #s(literal 3 binary64) x.re) x.re)) 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) |
(- (* -1 (pow x.im 2)) (* -3 (pow x.re 2))) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.re)) |
(* 2 x.im) |
(*.f64 #s(literal 2 binary64) x.im) |
(* (pow x.im 2) (+ 1 (* -3 (/ (pow x.re 2) (pow x.im 2))))) |
(*.f64 (fma.f64 (*.f64 (/.f64 x.re x.im) #s(literal -3 binary64)) (/.f64 x.re x.im) #s(literal 1 binary64)) (*.f64 x.im x.im)) |
(* (pow x.im 2) (+ (* -3 (/ x.re (pow x.im 2))) (/ 1 x.re))) |
(*.f64 (*.f64 (fma.f64 (/.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64) (/.f64 #s(literal 1 binary64) x.re)) 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 #s(literal 3 binary64) x.re) (/.f64 x.re (*.f64 x.im 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 #s(literal 3 binary64) x.re) (/.f64 x.re (*.f64 x.im 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 (-.f64 (fma.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re (/.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 (-.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) x.im) |
(* (pow x.im 2) (+ 1 (/ x.re x.im))) |
(*.f64 (fma.f64 (/.f64 x.re x.im) x.im x.im) x.im) |
(* x.im (+ 1 (/ x.re x.im))) |
(fma.f64 (/.f64 x.re x.im) x.im x.im) |
(* (pow x.im 2) (- (* 3 (/ (pow x.re 2) (pow x.im 2))) 1)) |
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 3 binary64) x.re) (/.f64 x.re (*.f64 x.im x.im)) #s(literal -1 binary64)) x.im) x.im) |
(* (pow x.im 2) (- (/ 1 (pow x.re 2)) (* 3 (/ 1 (pow x.im 2))))) |
(*.f64 (fma.f64 x.im (/.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (/.f64 x.im (*.f64 x.re 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 (*.f64 #s(literal 3 binary64) x.re) (/.f64 x.re (*.f64 x.im 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 #s(literal 3 binary64) x.re) (/.f64 x.re (*.f64 x.im 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 (/ (- (* -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 (-.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 | 46 | 328 |
| 0 | 74 | 328 |
| 1 | 260 | 312 |
| 0 | 1574 | 303 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 #s(literal 3 binary64) x.re) x.im))) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) 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 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 x.im x.re) x.re) |
(*.f64 x.im x.re) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 x.re x.im) |
(*.f64 x.im (+.f64 x.re x.im)) |
(+.f64 x.re x.im) |
(*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(*.f64 #s(literal 2 binary64) x.im) |
(/.f64 x.im (*.f64 x.re x.re)) |
(fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) |
| Outputs |
|---|
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(*.f64 (*.f64 x.re x.re) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64))) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 x.re (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(+.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64))) |
(/.f64 (*.f64 (-.f64 (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))) #s(literal 9 binary64)) x.re) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (/.f64 (pow.f64 x.im #s(literal 6 binary64)) (pow.f64 x.re #s(literal 6 binary64)))) x.re) (+.f64 (-.f64 #s(literal 9 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(/.f64 (*.f64 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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 x.re (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im) x.re (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 #s(literal -3 binary64) x.re (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) x.re)) |
(fma.f64 #s(literal -3 binary64) x.re (*.f64 x.re (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 x.re (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 x.re #s(literal -3 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) x.re)) |
(fma.f64 x.re #s(literal -3 binary64) (*.f64 x.re (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(+.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) x.re) (*.f64 #s(literal -3 binary64) x.re)) |
(+.f64 (*.f64 x.re (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) (*.f64 #s(literal -3 binary64) x.re)) |
(+.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) x.re)) |
(+.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.re (*.f64 (/.f64 (/.f64 x.im 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 (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) (neg.f64 x.im))) |
(*.f64 (*.f64 x.im #s(literal -1 binary64)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(*.f64 #s(literal -1 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) (neg.f64 x.im)) |
(*.f64 x.im (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))))) |
(neg.f64 (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 (*.f64 x.re x.im) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.im) x.re)) |
(*.f64 (*.f64 x.re x.im) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) x.re) |
(*.f64 (*.f64 x.im #s(literal 3 binary64)) x.re) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) |
(*.f64 #s(literal 3 binary64) (*.f64 x.re x.im)) |
(*.f64 (*.f64 x.re x.im) #s(literal 3 binary64)) |
(*.f64 x.re (*.f64 #s(literal 3 binary64) x.im)) |
(*.f64 x.im (*.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.im) x.re)) |
(*.f64 (*.f64 #s(literal 3 binary64) x.im) (*.f64 x.re x.re)) |
(*.f64 (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) x.im) |
(*.f64 (*.f64 (*.f64 x.re x.im) x.re) #s(literal 3 binary64)) |
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im) x.re) |
(*.f64 (*.f64 #s(literal 3 binary64) x.re) (*.f64 x.re x.im)) |
(*.f64 #s(literal 3 binary64) (*.f64 (*.f64 x.re x.im) x.re)) |
(*.f64 (*.f64 x.re x.im) (*.f64 #s(literal 3 binary64) x.re)) |
(*.f64 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im)) |
(*.f64 x.im (*.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) |
(*.f64 (*.f64 x.re x.re) x.im) |
(*.f64 (*.f64 x.re x.im) x.re) |
(*.f64 x.re (*.f64 x.re x.im)) |
(*.f64 x.im (*.f64 x.re x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal -2 binary64) x.im)))) |
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)))) (neg.f64 (fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal -2 binary64) x.im)))) |
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im))) (fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal -2 binary64) x.im))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal -2 binary64) x.im)) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 x.im x.im) (-.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)))))) |
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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 (-.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 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.im (*.f64 #s(literal 2 binary64) x.im)) |
(fma.f64 x.im #s(literal 2 binary64) (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) |
(fma.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 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))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 x.im x.im)) (fma.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im) (*.f64 #s(literal -2 binary64) x.im)))) |
(+.f64 (*.f64 #s(literal 2 binary64) x.im) (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im))) |
(+.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
(*.f64 (/.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))) (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re))) |
(*.f64 (/.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re 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))) (/.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 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (/.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 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (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) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))) |
(/.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 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (+.f64 x.re x.im)) |
(fma.f64 #s(literal -1 binary64) x.im x.re) |
(-.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 (neg.f64 x.im) x.re) |
(+.f64 x.re (neg.f64 x.im)) |
(*.f64 (+.f64 x.re x.im) x.im) |
(*.f64 x.im (+.f64 x.re x.im)) |
(/.f64 (*.f64 (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) x.im) (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re))) |
(/.f64 (*.f64 x.im (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))) (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re))) |
(/.f64 (-.f64 (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)) (pow.f64 x.im #s(literal 4 binary64))) (-.f64 (*.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 x.im (-.f64 x.im x.re))) |
(/.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) #s(literal 3 binary64)) (pow.f64 x.im #s(literal 6 binary64))) (+.f64 (pow.f64 (*.f64 x.re x.im) #s(literal 2 binary64)) (-.f64 (pow.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im 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))))) |
(/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (+.f64 x.re 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 (+.f64 x.re x.im) (-.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.im (*.f64 x.re x.re))) |
(*.f64 (/.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (+.f64 x.re x.im)) |
(*.f64 (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re)))) |
(*.f64 (+.f64 x.re x.im) (/.f64 (-.f64 x.re x.im) (-.f64 x.re x.im))) |
(*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (/.f64 #s(literal 1 binary64) (-.f64 x.re x.im))) |
(/.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (-.f64 x.im x.re)) |
(/.f64 (neg.f64 (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))) (neg.f64 (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re)))) |
(/.f64 (neg.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (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 x.im (-.f64 x.im x.re) (*.f64 x.re x.re)) (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))))) |
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))) |
(/.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.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) (fma.f64 x.im x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.re x.im)))) |
(/.f64 (+.f64 (pow.f64 x.im #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) (fma.f64 x.im (-.f64 x.im x.re) (*.f64 x.re x.re))) |
(/.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (-.f64 x.re x.im)) |
(-.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.im x.re) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(*.f64 (*.f64 x.re x.re) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64))) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re) |
(*.f64 x.re (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 (*.f64 (*.f64 x.re x.re) (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))) (/.f64 (pow.f64 x.im #s(literal 4 binary64)) (pow.f64 x.re #s(literal 4 binary64))))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.re) x.re (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 (*.f64 x.re x.re) #s(literal -3 binary64) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.re x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(fma.f64 x.re (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im))) |
(+.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) (*.f64 x.re x.re))) |
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.re) (*.f64 (*.f64 x.re x.re) (*.f64 (/.f64 (/.f64 x.im 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 (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) (neg.f64 x.im))) |
(*.f64 (*.f64 x.im #s(literal -1 binary64)) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(*.f64 #s(literal -1 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) (neg.f64 x.im)) |
(*.f64 x.im (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))))) |
(neg.f64 (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) x.im)) |
(-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) x.im)) |
(*.f64 #s(literal -1 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) #s(literal -1 binary64)) |
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))))) (+.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))))) |
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))) (*.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re))))))) |
(neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(-.f64 #s(literal 0 binary64) #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) |
(+.f64 #s(literal 0 binary64) (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re 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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(*.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im))) |
(/.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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (pow.f64 x.im #s(literal 6 binary64)) (pow.f64 x.re #s(literal 6 binary64)))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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) x.im) (pow.f64 x.re #s(literal -1 binary64)) #s(literal -3 binary64)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(fma.f64 (*.f64 x.im x.im) (pow.f64 x.re #s(literal -2 binary64)) #s(literal -3 binary64)) |
(fma.f64 (/.f64 x.im x.re) (/.f64 x.im x.re) #s(literal -3 binary64)) |
(fma.f64 x.im (/.f64 (/.f64 x.im x.re) 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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(+.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)) |
(+.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) |
(*.f64 #s(literal 2 binary64) x.im) |
(*.f64 x.im #s(literal 2 binary64)) |
(*.f64 (pow.f64 x.re #s(literal -2 binary64)) x.im) |
(*.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 x.im x.re)) |
(*.f64 #s(literal 1 binary64) (/.f64 (/.f64 x.im x.re) x.re)) |
(*.f64 (neg.f64 x.im) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x.re) x.re))) |
(*.f64 (/.f64 (neg.f64 x.im) x.re) (/.f64 #s(literal 1 binary64) (neg.f64 x.re))) |
(*.f64 (/.f64 x.im x.re) (pow.f64 x.re #s(literal -1 binary64))) |
(*.f64 x.im (*.f64 (pow.f64 x.re #s(literal -1 binary64)) (pow.f64 x.re #s(literal -1 binary64)))) |
(*.f64 x.im (pow.f64 x.re #s(literal -2 binary64))) |
(pow.f64 (*.f64 (/.f64 x.re x.im) x.re) #s(literal -1 binary64)) |
(/.f64 (*.f64 (/.f64 x.im x.re) #s(literal 1 binary64)) x.re) |
(/.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 (*.f64 (neg.f64 x.re) x.re))) |
(/.f64 (*.f64 (neg.f64 x.im) #s(literal 1 binary64)) (*.f64 (neg.f64 x.re) x.re)) |
(/.f64 (*.f64 x.im #s(literal 1 binary64)) (*.f64 x.re x.re)) |
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (/.f64 x.re x.im) x.re))) |
(/.f64 (pow.f64 x.re #s(literal -1 binary64)) (/.f64 x.re x.im)) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (/.f64 x.re x.im) x.re) #s(literal 1 binary64))) |
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 x.re x.im) x.re)) |
(/.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.re) x.re)) |
(/.f64 (/.f64 (neg.f64 x.im) x.re) (neg.f64 x.re)) |
(/.f64 (/.f64 x.im x.re) (neg.f64 (neg.f64 x.re))) |
(/.f64 (/.f64 x.im x.re) x.re) |
(/.f64 x.im (*.f64 x.re x.re)) |
(neg.f64 (/.f64 (neg.f64 x.im) (*.f64 x.re x.re))) |
(neg.f64 (/.f64 (/.f64 (neg.f64 x.im) x.re) x.re)) |
(neg.f64 (/.f64 x.im (*.f64 (neg.f64 x.re) x.re))) |
(neg.f64 (/.f64 (/.f64 x.im x.re) (neg.f64 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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(*.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im))) |
(/.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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) |
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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 (pow.f64 x.im #s(literal 6 binary64)) (pow.f64 x.re #s(literal 6 binary64)))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (/.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 (/.f64 (/.f64 x.im x.re) x.re) x.im) #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) x.im) (pow.f64 x.re #s(literal -1 binary64)) #s(literal -3 binary64)) |
(fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) |
(fma.f64 (*.f64 x.im x.im) (pow.f64 x.re #s(literal -2 binary64)) #s(literal -3 binary64)) |
(fma.f64 (/.f64 x.im x.re) (/.f64 x.im x.re) #s(literal -3 binary64)) |
(fma.f64 x.im (/.f64 (/.f64 x.im x.re) 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 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal 3 binary64)))) |
(+.f64 (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im) #s(literal -3 binary64)) |
(+.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im)) |
Compiled 9 419 to 1 190 computations (87.4% saved)
16 alts after pruning (6 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 248 | 5 | 253 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 6 | 6 |
| Total | 249 | 16 | 265 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 93.6% | (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
| ✓ | 63.7% | #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))) |
| ✓ | 49.7% | #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) #s(literal 3 binary64)) x.im)) |
| ✓ | 52.9% | #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))) |
| ✓ | 50.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 x.re x.re) (*.f64 #s(literal 3 binary64) x.im))) |
| 64.7% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.f64 x.re x.re))) | |
| ✓ | 93.8% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 x.re x.re)))) x.im)) |
| ✓ | 65.7% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
| ✓ | 85.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) x.re) x.re))) x.im)) |
| 93.3% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (fma.f64 (/.f64 x.im x.re) x.im (*.f64 #s(literal -3 binary64) x.re))) x.re))) x.im)) | |
| 60.4% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (/.f64 (*.f64 x.im x.im) x.re)) x.re))) x.im)) | |
| ✓ | 63.6% | #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
| ✓ | 53.0% | #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 #s(literal 3 binary64) x.re) x.im))) |
| 57.9% | #s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #s(literal 2 binary64))) x.im)) | |
| 20.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)) | |
| 36.4% | #s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (*.f64 x.re x.re) x.im)) |
Compiled 1 250 to 431 computations (65.5% 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (/.f64 (*.f64 x.im x.im) x.re)) x.re))) x.im)) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 x.re (+.f64 x.im 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (fma.f64 (/.f64 x.im x.re) x.im (*.f64 #s(literal -3 binary64) x.re))) x.re))) x.im)) |
(+.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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(+.f64 (/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) (*.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)) (neg.f64 (pow.f64 x.im #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)) (pow.f64 (neg.f64 x.im) #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 (fma.f64 (*.f64 (/.f64 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) |
| Outputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im 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 (fma.f64 (*.f64 (/.f64 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64)))) |
3 calls:
| 8.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)) |
| 7.0ms | x.im |
| 7.0ms | x.re |
| Accuracy | Segments | Branch |
|---|---|---|
| 97.1% | 2 | x.re |
| 99.9% | 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (/.f64 (*.f64 x.im x.im) x.re)) x.re))) x.im)) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 x.re (+.f64 x.im 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (fma.f64 (/.f64 x.im x.re) x.im (*.f64 #s(literal -3 binary64) x.re))) x.re))) x.im)) |
(+.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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 x.im (*.f64 x.re x.re)) x.im #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 (*.f64 x.im (fma.f64 (neg.f64 x.im) (/.f64 x.im (*.f64 x.re x.re)) #s(literal 3 binary64))) (*.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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -3 binary64)) (*.f64 x.re x.re)))) x.im)) |
(+.f64 (/.f64 (*.f64 (*.f64 (-.f64 x.re x.im) x.im) (*.f64 (+.f64 x.im x.re) (-.f64 x.im x.re))) (-.f64 x.im x.re)) (*.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)) (neg.f64 (pow.f64 x.im #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)) (pow.f64 (neg.f64 x.im) #s(literal 3 binary64))) |
| Outputs |
|---|
(+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
2 calls:
| 9.0ms | x.im |
| 6.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% | 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)) |
| 99.8% | 2 | x.im |
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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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)) |
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 #s(approx (* (+ (* (/ (/ x.im x.re) x.re) x.im) -3) x.re) (/.f64 (*.f64 x.im x.im) x.re)) x.re))) x.im)) |
(+.f64 #s(approx (* (- (* x.re x.re) (* x.im x.im)) x.im) (*.f64 (*.f64 x.im x.re) x.re)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) |
(+.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re 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 (neg.f64 (fma.f64 x.im x.im (*.f64 #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 x.re (*.f64 (*.f64 #s(literal 3 binary64) x.re) x.im))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
2 calls:
| 6.0ms | x.im |
| 4.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.2% | 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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)) |
| Outputs |
|---|
#s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) |
(fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #s(literal 2 binary64) x.im)) |
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.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 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 binary64)) x.im)) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) |
#s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #s(literal 2 binary64))) x.im)) |
3 calls:
| 25.0ms | x.re |
| 3.0ms | x.im |
| 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 |
|---|---|---|
| 89.5% | 2 | x.re |
| 91.1% | 3 | x.im |
| 96.5% | 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)
| 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 x.re x.re) (*.f64 #s(literal 3 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 (*.f64 (*.f64 x.im x.re) 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 x.re x.re) #s(literal 3 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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.1% | 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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)) |
3 calls:
| 2.0ms | x.re |
| 2.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 |
|---|---|---|
| 77.2% | 2 | x.re |
| 69.0% | 2 | x.im |
| 79.5% | 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 -10.0b remaining (-24.6%)
Threshold costs -10b (-24.6%)
| 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:
| 1.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 |
|---|---|---|
| 36.4% | 1 | x.im |
| 36.4% | 1 | x.re |
| 36.4% | 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× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 9.625015712971499e-16 | 1.8912136527720918e-14 |
| 8.0ms | 112× | 0 | valid |
Compiled 379 to 233 computations (38.5% saved)
ival-mult: 4.0ms (76.7% of total)ival-add: 1.0ms (19.2% of total)ival-sub: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 4.180063549065364e+37 | 1.2900066842441888e+38 |
| 11.0ms | 80× | 0 | valid |
Compiled 167 to 116 computations (30.5% saved)
ival-mult: 8.0ms (86.3% of total)ival-add: 1.0ms (10.8% of total)ival-sub: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | 2.0083510926658077e+117 | 1.3974645517615825e+124 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -1.1000434178229197e-294 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -1.1000434178229197e-294 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -1.1000434178229197e-294 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -1.1000434178229197e-294 | 0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 1× | egg-herbie |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 679 |
| 1 | 138 | 659 |
| 2 | 220 | 653 |
| 3 | 482 | 613 |
| 4 | 1113 | 613 |
| 5 | 3058 | 613 |
| 6 | 6218 | 613 |
| 1× | node limit |
| Inputs |
|---|
(if (<=.f64 x.im #s(literal 3929716860707511/2535301200456458802993406410752 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im 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 (fma.f64 (*.f64 (/.f64 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(if (<=.f64 x.im #s(literal 124999999999999992463645796450397323264 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 4000000000000000202221710903980135256912948123212013116081925898888931055908341623296933508420248877009668452946804736 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 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 #s(literal 3 binary64) x.re) x.im))) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) #s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 x.im #s(literal 3929716860707511/2535301200456458802993406410752 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im 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 (fma.f64 (*.f64 (/.f64 x.re x.im) #s(literal 3 binary64)) (/.f64 x.re x.im) #s(literal -1 binary64)) (pow.f64 x.im #s(literal 3 binary64))))) |
(if (<=.f64 x.im #s(literal 124999999999999992463645796450397323264 binary64)) (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (*.f64 x.re (+.f64 x.im x.im)) x.re)) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 4000000000000000202221710903980135256912948123212013116081925898888931055908341623296933508420248877009668452946804736 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 (fma.f64 x.im x.im (*.f64 #s(literal -3 binary64) (*.f64 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 #s(literal 3 binary64) x.re) x.im))) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 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 (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (neg.f64 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 #s(literal 3 binary64) x.re) x.im))) (fma.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.re x.im)) (*.f64 #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #s(literal 3 binary64) x.re) x.im))) #s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 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 (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (neg.f64 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 #s(literal 3 binary64) x.re) x.im))) #s(approx (+ (* (- x.re x.im) (* x.im (+ x.re x.im))) (* 2 x.im)) (*.f64 (fma.f64 (neg.f64 x.im) x.im (fma.f64 x.re x.re #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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 #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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)))) |
(if (or (<=.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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) (not (<=.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 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (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 x.re (*.f64 (*.f64 #s(literal 3 binary64) 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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) #s(approx (+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re)) (*.f64 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.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 (neg.f64 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im))) x.im)))) |
(if (or (<=.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 -5752618031559411/5752618031559410904733776610524879147577526332615381032749762597047445625776030820246671274317041152675843644155884587445081272602061331919771117780463171980088572589595695528841671027239875011822498654466720184602820821834958812207165219537306471589227216341906761543678311870031350921754731402547975172390912 binary64)) (not (<=.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 #s(approx (+ (* x.im x.im) (* -3 (* x.re x.re))) (*.f64 x.im x.im)) (neg.f64 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 (*.f64 x.re x.re) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 198 |
| 1 | 182 | 192 |
| 2 | 585 | 192 |
| 3 | 2569 | 192 |
| 4 | 7315 | 192 |
| 0 | 8104 | 187 |
| 0 | 43 | 308 |
| 0 | 67 | 300 |
| 1 | 256 | 276 |
| 0 | 1473 | 264 |
| 0 | 37 | 245 |
| 0 | 56 | 245 |
| 1 | 203 | 217 |
| 0 | 1286 | 212 |
| 0 | 189 | 703 |
| 1 | 632 | 657 |
| 2 | 2020 | 638 |
| 3 | 7146 | 630 |
| 0 | 8402 | 601 |
| 0 | 11 | 51 |
| 0 | 20 | 51 |
| 1 | 79 | 39 |
| 0 | 540 | 38 |
| 0 | 180 | 624 |
| 1 | 618 | 597 |
| 2 | 2033 | 597 |
| 3 | 7420 | 597 |
| 0 | 8090 | 578 |
| 1× | fuel |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter 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× | node limit |
Compiled 1 711 to 544 computations (68.2% saved)
(abs x.re)
Compiled 1 760 to 408 computations (76.8% saved)
Loading profile data...