
Time bar (total: 5.8s)
| 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.1s | 8 256× | 0 | valid |
ival-mult: 503.0ms (63.7% of total)ival-sub: 137.0ms (17.4% of total)ival-add: 137.0ms (17.4% of total)ival-true: 6.0ms (0.8% of total)ival-assert: 3.0ms (0.4% of total)adjust: 2.0ms (0.3% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 27 | 0 | - | 0 | - | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| 19 | 0 | - | 0 | - | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| 15 | 0 | - | 0 | - | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) |
| 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.im) |
| 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.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) | nan-rescue | 27 | 0 |
| ↳ | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) | overflow | 131 | |
| ↳ | (*.f64 x.re x.re) | overflow | 66 | |
| ↳ | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | overflow | 120 | |
| ↳ | (*.f64 x.im x.im) | overflow | 73 | |
| ↳ | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im) | overflow | 78 | |
| ↳ | (*.f64 x.im x.re) | overflow | 39 | |
| ↳ | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | overflow | 39 | |
| ↳ | (*.f64 x.re x.im) | overflow | 39 | |
-.f64 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | nan-rescue | 19 | 0 |
| ↳ | (*.f64 x.re x.re) | overflow | 66 | |
| ↳ | (*.f64 x.im x.im) | overflow | 73 | |
*.f64 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) | n*o | 15 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 52 | 0 |
| - | 0 | 204 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 52 | 0 | 0 |
| - | 0 | 0 | 204 |
| number | freq |
|---|---|
| 0 | 204 |
| 1 | 43 |
| 2 | 9 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 64.0ms | 512× | 0 | valid |
Compiled 153 to 37 computations (75.8% saved)
ival-mult: 40.0ms (84.2% of total)ival-sub: 5.0ms (10.5% of total)ival-add: 2.0ms (4.2% of total)ival-true: 0.0ms (0% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 103 |
| 1 | 105 | 87 |
| 2 | 385 | 85 |
| 3 | 1115 | 56 |
| 4 | 3914 | 55 |
| 0 | 11 | 19 |
| 0 | 20 | 19 |
| 1 | 43 | 17 |
| 2 | 140 | 17 |
| 3 | 482 | 14 |
| 4 | 1384 | 11 |
| 5 | 4695 | 11 |
| 0 | 8744 | 10 |
| 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.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Outputs |
|---|
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
(*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re) |
(abs x.im)
(negabs x.re)
Compiled 19 to 11 computations (42.1% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 80.0% | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
Compiled 19 to 11 computations (42.1% saved)
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.re) | |
| cost-diff | 2 | (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) | |
| cost-diff | 7 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 65 |
| 0 | 20 | 65 |
| 1 | 43 | 59 |
| 2 | 140 | 59 |
| 3 | 482 | 56 |
| 4 | 1384 | 53 |
| 5 | 4695 | 53 |
| 0 | 8744 | 52 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) |
(-.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.im) |
(+.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.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
(*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 (+.f64 x.im x.re) x.re) (-.f64 x.re x.im)) |
(-.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.im) |
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.re x.im) |
(*.f64 x.im x.re) |
(*.f64 x.im x.re) |
Found 4 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.125 | (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im) | |
| accuracy | 3.562672746753171 | (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) | |
| accuracy | 4.292948108302059 | (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| accuracy | 5.468750000000001 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| 32.0ms | 256× | 0 | valid |
Compiled 67 to 13 computations (80.6% saved)
ival-mult: 20.0ms (85.3% of total)ival-sub: 2.0ms (8.5% of total)ival-add: 1.0ms (4.3% of total)ival-true: 0.0ms (0% of total)adjust: 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.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* 2 (* x.im x.re)) |
(* -1 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 2)) |
(* 2 (* (pow x.im 2) x.re)) |
(pow x.re 3) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(pow x.re 2) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 9.0ms | x.im | @ | 0 | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) |
| 2.0ms | x.re | @ | -inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) |
| 2.0ms | x.re | @ | 0 | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) |
| 2.0ms | x.re | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) |
| 1.0ms | x.im | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (+ (* x.re x.im) (* x.im x.re)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 229 |
| 1 | 172 | 207 |
| 2 | 669 | 206 |
| 3 | 3812 | 206 |
| 0 | 8304 | 200 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* 2 (* x.im x.re)) |
(* -1 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(* -1 (pow x.im 2)) |
(- (pow x.re 2) (pow x.im 2)) |
(* 2 (* (pow x.im 2) x.re)) |
(pow x.re 3) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(pow x.re 2) |
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(+ (* -1 (pow x.im 2)) (pow x.re 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1)) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(* 2 (* x.im x.re)) |
(*.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) |
(* -1 (* (pow x.im 2) x.re)) |
(*.f64 (*.f64 (neg.f64 x.im) x.re) x.im) |
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (*.f64 x.re (+.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 (* (pow x.im 2) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.im) #s(literal 2 binary64)) |
(pow x.re 3) |
(pow.f64 x.re #s(literal 3 binary64)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -1 binary64))) |
(pow x.re 2) |
(*.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)) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1))) |
(*.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (fma.f64 (/.f64 (/.f64 x.im x.re) x.re) x.im #s(literal -1 binary64))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(*.f64 (*.f64 x.re (+.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 2) (- (* -1 x.re) (* 2 x.re))) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(*.f64 (-.f64 (/.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) x.im) x.im) x.re) (*.f64 x.im x.im)) |
(* (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)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 51 |
| 0 | 20 | 51 |
| 1 | 88 | 39 |
| 0 | 679 | 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.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) |
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) |
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im) |
| Outputs |
|---|
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 x.re (+.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.im) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)))))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.re (+.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.im) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.re (+.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.im) #s(literal 2 binary64))) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)))) |
(fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(fma.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.re) (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(fma.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.re) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.re (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(fma.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.re (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(fma.f64 x.im (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(fma.f64 x.re (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(fma.f64 x.re (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64)) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im))) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) #s(literal 2 binary64)) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)))) |
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 x.re (+.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.im) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) (pow.f64 (*.f64 (*.f64 x.re (+.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.im) #s(literal 3 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) (fma.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) (pow.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) #s(literal 2 binary64))))) |
(-.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(-.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im))) |
(+.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (neg.f64 x.im) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) |
(+.f64 (*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) |
(*.f64 x.im (+.f64 x.re x.re)) |
(*.f64 x.re (-.f64 x.im (neg.f64 x.im))) |
(*.f64 x.re (+.f64 x.im x.im)) |
(/.f64 (-.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x.im) x.re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 x.im) x.re))))) |
(/.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 (neg.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)))) |
(/.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))) (neg.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 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)))) |
(neg.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(fma.f64 (neg.f64 x.im) x.re (*.f64 (neg.f64 x.im) x.re)) |
(fma.f64 x.im x.re (*.f64 (neg.f64 (neg.f64 x.im)) x.re)) |
(fma.f64 x.im x.re (*.f64 x.im x.re)) |
(fma.f64 x.re (neg.f64 x.im) (*.f64 (neg.f64 x.im) x.re)) |
(fma.f64 x.re x.im (*.f64 (neg.f64 (neg.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 (neg.f64 x.re) x.im)) |
(-.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 x.im) x.re)) |
(+.f64 (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))) |
(+.f64 (*.f64 (neg.f64 x.im) x.re) (*.f64 (neg.f64 x.im) x.re)) |
(+.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 (neg.f64 x.im)) x.re)) |
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) |
(*.f64 (*.f64 x.re (+.f64 x.im x.re)) (-.f64 x.re x.im)) |
(*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) x.re)) |
(*.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re)) x.re) |
(*.f64 x.re (*.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.re) (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.re) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(/.f64 (*.f64 x.re (-.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.re (-.f64 (pow.f64 x.re #s(literal 6 binary64)) (pow.f64 x.im #s(literal 6 binary64)))) (fma.f64 (*.f64 x.im x.im) (fma.f64 x.im x.im (*.f64 x.re x.re)) (pow.f64 x.re #s(literal 4 binary64)))) |
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 (*.f64 (neg.f64 x.im) x.im) x.re)) |
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 x.re (*.f64 (neg.f64 x.im) x.im))) |
(+.f64 (*.f64 (*.f64 x.re x.re) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.re)) |
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 x.re (*.f64 (neg.f64 x.im) x.im))) |
(*.f64 (+.f64 (neg.f64 x.re) (neg.f64 x.im)) (-.f64 (neg.f64 x.re) (neg.f64 x.im))) |
(*.f64 (+.f64 (neg.f64 x.re) (fabs.f64 x.im)) (-.f64 (neg.f64 x.re) (fabs.f64 x.im))) |
(*.f64 (+.f64 (neg.f64 x.re) x.im) (-.f64 (neg.f64 x.re) x.im)) |
(*.f64 (+.f64 (fabs.f64 x.re) (neg.f64 x.im)) (-.f64 (fabs.f64 x.re) (neg.f64 x.im))) |
(*.f64 (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (-.f64 (fabs.f64 x.re) (fabs.f64 x.im))) |
(*.f64 (+.f64 (fabs.f64 x.re) x.im) (-.f64 (fabs.f64 x.re) x.im)) |
(*.f64 (+.f64 x.re (neg.f64 x.im)) (-.f64 x.re (neg.f64 x.im))) |
(*.f64 (+.f64 x.re (fabs.f64 x.im)) (-.f64 x.re (fabs.f64 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 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 (pow.f64 x.im #s(literal 4 binary64)) (*.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 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(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 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 x.re)) (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 x.re)) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(fma.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (neg.f64 (fabs.f64 x.re)) (neg.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (neg.f64 (fabs.f64 x.re)) (neg.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(fma.f64 (neg.f64 (fabs.f64 x.re)) (neg.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (fabs.f64 (fabs.f64 x.re)) (fabs.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (fabs.f64 (fabs.f64 x.re)) (fabs.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(fma.f64 (fabs.f64 (fabs.f64 x.re)) (fabs.f64 (fabs.f64 x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re)) |
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (neg.f64 x.im) x.im)) |
(fma.f64 x.im (neg.f64 x.im) (*.f64 x.re x.re)) |
(fma.f64 x.re x.re (*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 x.im))) |
(fma.f64 x.re x.re (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(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 (neg.f64 (neg.f64 x.im)) x.im)) |
(-.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 (neg.f64 x.im)) (neg.f64 x.im))) |
(+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 (fabs.f64 x.im)) (fabs.f64 x.im))) |
(+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)) |
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im) |
(*.f64 x.im (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
(/.f64 (*.f64 #s(literal 0 binary64) x.im) #s(literal 0 binary64)) |
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) x.im) (+.f64 #s(literal 0 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.im #s(literal 0 binary64)) #s(literal 0 binary64)) |
(/.f64 (*.f64 x.im (*.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)))) |
(neg.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) x.im)) |
(fma.f64 (*.f64 x.im x.re) x.im (*.f64 (*.f64 x.im x.re) x.im)) |
(fma.f64 x.im (*.f64 x.im x.re) (*.f64 x.im (*.f64 x.im x.re))) |
(+.f64 (*.f64 (*.f64 x.im x.re) x.im) (*.f64 (*.f64 x.im x.re) x.im)) |
(+.f64 (*.f64 x.im (*.f64 x.im x.re)) (*.f64 x.im (*.f64 x.im x.re))) |
Compiled 3 178 to 470 computations (85.2% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 127 | 4 | 131 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 128 | 4 | 132 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
| ▶ | 87.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
| ▶ | 76.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
| ▶ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
Compiled 114 to 66 computations (42.1% saved)
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (pow.f64 x.re #s(literal 3 binary64)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) | |
| cost-diff | 0 | (*.f64 x.im x.im) | |
| cost-diff | 0 | (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) | |
| cost-diff | 0 | (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) | |
| cost-diff | 0 | (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) | |
| cost-diff | 0 | (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) | |
| cost-diff | 0 | (*.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.im x.re) x.im) | |
| cost-diff | 0 | (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 210 |
| 0 | 44 | 210 |
| 1 | 98 | 202 |
| 2 | 307 | 202 |
| 3 | 1021 | 190 |
| 4 | 4309 | 186 |
| 0 | 8193 | 182 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
#s(literal -3 binary64) |
(*.f64 (*.f64 x.im x.re) x.im) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
x.re |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(/.f64 (/.f64 x.re x.im) x.im) |
(/.f64 x.re x.im) |
x.im |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
(*.f64 x.re x.re) |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(pow.f64 x.re #s(literal 3 binary64)) |
x.re |
#s(literal 3 binary64) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
#s(literal -3 binary64) |
(*.f64 (*.f64 x.im x.re) x.im) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.im) (*.f64 x.im x.re))) |
(*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.im) (*.f64 x.im x.re)) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
x.re |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(/.f64 (/.f64 x.re x.im) x.im) |
(/.f64 x.re x.im) |
x.im |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
(*.f64 x.re x.re) |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(pow.f64 x.re #s(literal 3 binary64)) |
x.re |
#s(literal 3 binary64) |
Found 14 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (pow.f64 x.re #s(literal 3 binary64)) | |
| accuracy | 27.18165585574735 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) | |
| accuracy | 0.0 | (*.f64 x.im x.im) | |
| accuracy | 0.0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) | |
| accuracy | 3.5264689882544467 | (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) | |
| accuracy | 4.386698108302059 | (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) | |
| accuracy | 0.1171875 | (/.f64 (/.f64 x.re x.im) x.im) | |
| accuracy | 0.3658511959633165 | (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) | |
| accuracy | 1.7221551091113934 | (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) | |
| accuracy | 12.48928047461334 | (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) | |
| accuracy | 0.0 | (*.f64 x.im x.re) | |
| accuracy | 0.125 | (*.f64 (*.f64 x.im x.re) x.im) | |
| accuracy | 0.16796875 | (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) | |
| accuracy | 27.951379313798785 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
| 79.0ms | 238× | 0 | valid |
| 9.0ms | 7× | 4 | valid |
| 3.0ms | 4× | 3 | valid |
| 3.0ms | 5× | 2 | valid |
| 1.0ms | 2× | 1 | valid |
Compiled 179 to 27 computations (84.9% saved)
ival-mult: 52.0ms (67.6% of total)adjust: 8.0ms (10.4% of total)ival-div: 5.0ms (6.5% of total)ival-add: 5.0ms (6.5% of total)ival-pow: 4.0ms (5.2% of total)ival-sub: 3.0ms (3.9% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 (*.f64 x.im x.re) x.im) |
(*.f64 x.im x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(pow.f64 x.re #s(literal 3 binary64)) |
(/.f64 (/.f64 x.re x.im) x.im) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* -3 (* (pow x.im 2) x.re)) |
(* (pow x.im 2) x.re) |
(* x.im x.re) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (pow x.im 2)) |
(+ (* -3 (pow x.im 2)) (pow x.re 2)) |
(pow x.re 3) |
(/ x.re (pow x.im 2)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(/ (pow x.re 2) (pow x.im 2)) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(pow x.re 2) |
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 25.0ms | x.im | @ | -inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* -3 (* (* x.im x.re) 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.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* -3 (* x.im x.im)) (* x.re x.re)) x.re) (+ (* -3 (* x.im x.im)) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) (/ (/ x.re x.im) x.im)) |
| 4.0ms | x.re | @ | 0 | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* -3 (* (* x.im x.re) 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.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* -3 (* x.im x.im)) (* x.re x.re)) x.re) (+ (* -3 (* x.im x.im)) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) (/ (/ x.re x.im) x.im)) |
| 4.0ms | x.re | @ | -inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* -3 (* (* x.im x.re) 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.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* -3 (* x.im x.im)) (* x.re x.re)) x.re) (+ (* -3 (* x.im x.im)) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) (/ (/ x.re x.im) x.im)) |
| 3.0ms | x.re | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* -3 (* (* x.im x.re) 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.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* -3 (* x.im x.im)) (* x.re x.re)) x.re) (+ (* -3 (* x.im x.im)) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) (/ (/ x.re x.im) x.im)) |
| 2.0ms | x.im | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* -3 (* (* x.im x.re) 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.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* -3 (* x.im x.im)) (* x.re x.re)) x.re) (+ (* -3 (* x.im x.im)) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) (/ (/ x.re x.im) x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 360 |
| 1 | 202 | 326 |
| 2 | 779 | 326 |
| 3 | 5333 | 326 |
| 0 | 9201 | 308 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* -3 (* (pow x.im 2) x.re)) |
(* (pow x.im 2) x.re) |
(* x.im x.re) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (pow x.im 2)) |
(+ (* -3 (pow x.im 2)) (pow x.re 2)) |
(pow x.re 3) |
(/ x.re (pow x.im 2)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(/ (pow x.re 2) (pow x.im 2)) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(pow x.re 2) |
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(pow x.im 2) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(* -3 (* (pow x.im 2) x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(* (pow x.im 2) x.re) |
(*.f64 (*.f64 x.im x.im) x.re) |
(* x.im x.re) |
(*.f64 x.im x.re) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(* -3 x.re) |
(*.f64 #s(literal -3 binary64) x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) x.re) |
-3 |
#s(literal -3 binary64) |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) |
(* -3 (pow x.im 2)) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
(+ (* -3 (pow x.im 2)) (pow x.re 2)) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(pow x.re 3) |
(pow.f64 x.re #s(literal 3 binary64)) |
(/ x.re (pow x.im 2)) |
(/.f64 x.re (*.f64 x.im x.im)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(/ (pow x.re 3) (pow x.im 2)) |
(/.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) x.im) x.im) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (pow.f64 x.re #s(literal 3 binary64))) |
(/ (pow x.re 2) (pow x.im 2)) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (*.f64 x.re x.re)) |
(pow x.re 2) |
(*.f64 x.re x.re) |
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) x.re) x.re) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(*.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) x.re) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) |
(pow x.im 2) |
(*.f64 x.im x.im) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) x.re) |
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
(*.f64 (fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) (*.f64 x.im x.im)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 190 |
| 0 | 44 | 190 |
| 1 | 176 | 174 |
| 0 | 1234 | 170 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 (*.f64 x.im x.re) x.im) |
(*.f64 x.im x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
(*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(pow.f64 x.re #s(literal 3 binary64)) |
(/.f64 (/.f64 x.re x.im) x.im) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) x.im) #s(literal -3 binary64))) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.im) #s(literal -3 binary64)) |
(*.f64 (*.f64 x.im x.re) (*.f64 #s(literal -3 binary64) x.im)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 x.im (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)) |
(*.f64 (*.f64 x.im x.im) x.re) |
(*.f64 (*.f64 x.im x.re) x.im) |
(*.f64 x.im (*.f64 x.im x.re)) |
(*.f64 x.re (*.f64 x.im x.im)) |
(*.f64 x.im x.re) |
(*.f64 x.re x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) x.im) x.im)) |
(*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.im) x.im) x.re) |
(*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) x.im) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re))) |
(*.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re))) |
(*.f64 (*.f64 x.im x.im) (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re)) |
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) (*.f64 x.im x.im)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.im) (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
(*.f64 x.im (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) x.im)) |
(*.f64 x.re (*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.im) x.im)) |
(fma.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 x.im x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im))) |
(fma.f64 (*.f64 x.im x.im) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re))) |
(+.f64 (*.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 x.im x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im))) |
(+.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re)) (*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
(*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) |
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) #s(literal 9 binary64)) x.re) (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64))) |
(/.f64 (*.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64))) x.re) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)))) |
(/.f64 (*.f64 x.re (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) #s(literal 9 binary64))) (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64))) |
(/.f64 (*.f64 x.re (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64)))) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)))) |
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re)) (*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 #s(literal -3 binary64) x.re))) (-.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 #s(literal -3 binary64) x.re))) |
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -3 binary64) x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (-.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 #s(literal -3 binary64) x.re)) (*.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 #s(literal -3 binary64) x.re))))) |
(fma.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 (*.f64 x.re x.re) (/.f64 (/.f64 x.re x.im) x.im) (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 #s(literal -3 binary64) x.re (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re)) |
(fma.f64 x.re (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) (*.f64 #s(literal -3 binary64) x.re)) |
(fma.f64 x.re #s(literal -3 binary64) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re)) |
(-.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 #s(literal 3 binary64) x.re)) |
(-.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 (neg.f64 x.re) #s(literal -3 binary64))) |
(+.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re)) |
(+.f64 (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) x.re) (*.f64 #s(literal -3 binary64) x.re)) |
(/.f64 (-.f64 #s(literal 9 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64))) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re))) |
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) #s(literal 9 binary64))) (neg.f64 (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64)))) |
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64))))) |
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) #s(literal 9 binary64)) (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64))) |
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64))) (+.f64 #s(literal 9 binary64) (-.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64))))) |
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64))) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)))) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(fma.f64 (/.f64 x.re x.im) (/.f64 x.re x.im) #s(literal -3 binary64)) |
(fma.f64 x.re (/.f64 (/.f64 x.re x.im) x.im) #s(literal -3 binary64)) |
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64))) (/.f64 #s(literal 9 binary64) (-.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64)))) |
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 (/.f64 (/.f64 x.re x.im) x.im)) x.re)) |
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 x.re) (/.f64 (/.f64 x.re x.im) x.im))) |
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 3 binary64)) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64)))) (/.f64 #s(literal -27 binary64) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) (pow.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal 2 binary64))))) |
(+.f64 (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) #s(literal -3 binary64)) |
(+.f64 #s(literal -3 binary64) (*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(*.f64 x.re (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))) |
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (pow.f64 x.re #s(literal 4 binary64))) x.re) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re))) |
(/.f64 (*.f64 (fma.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64))) x.re) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))))) |
(/.f64 (*.f64 x.re (-.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (pow.f64 x.re #s(literal 4 binary64)))) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re))) |
(/.f64 (*.f64 x.re (fma.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64)))) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))))) |
(fma.f64 (*.f64 x.re (fabs.f64 x.re)) (fabs.f64 x.re) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (*.f64 x.re (fabs.f64 x.re)) (fabs.f64 x.re) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 (neg.f64 x.re) x.re) (neg.f64 x.re) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (*.f64 (neg.f64 x.re) x.re) (neg.f64 x.re) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64)) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (neg.f64 x.re) (*.f64 (neg.f64 x.re) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (neg.f64 x.re) (*.f64 (neg.f64 x.re) x.re) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (fabs.f64 x.re) (*.f64 (fabs.f64 x.re) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (fabs.f64 x.re) (*.f64 (fabs.f64 x.re) x.re) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re (pow.f64 x.re #s(literal 3 binary64))) |
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(fma.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(+.f64 (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) (pow.f64 x.re #s(literal 3 binary64))) |
(+.f64 (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) (pow.f64 x.re #s(literal 3 binary64))) |
(+.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(+.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(/.f64 (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64)) (pow.f64 (*.f64 (neg.f64 x.re) x.re) #s(literal 3 binary64))) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (+.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 x.re) x.re))))) |
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (pow.f64 x.re #s(literal 4 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re)))) |
(/.f64 (neg.f64 (fma.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64)))) (neg.f64 (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))))) |
(/.f64 (-.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (pow.f64 x.re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re))) |
(/.f64 (fma.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64))) (+.f64 (pow.f64 x.re #s(literal 4 binary64)) (-.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))))) |
(/.f64 (fma.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64) (pow.f64 x.re #s(literal 6 binary64))) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))))) |
(fma.f64 (*.f64 #s(literal -3 binary64) (neg.f64 x.im)) (neg.f64 x.im) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal -3 binary64) (neg.f64 x.im)) (neg.f64 x.im) (*.f64 x.re x.re)) |
(fma.f64 (*.f64 #s(literal -3 binary64) (fabs.f64 x.im)) (fabs.f64 x.im) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal -3 binary64) (fabs.f64 x.im)) (fabs.f64 x.im) (*.f64 x.re x.re)) |
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 x.re)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (neg.f64 (fabs.f64 x.re)) (neg.f64 (fabs.f64 x.re)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (fabs.f64 (fabs.f64 x.re)) (fabs.f64 (fabs.f64 x.re)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) |
(fma.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) |
(fma.f64 x.im (*.f64 #s(literal -3 binary64) x.im) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(fma.f64 x.im (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re x.re)) |
(fma.f64 x.re x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(-.f64 (/.f64 (*.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64)) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re))) (/.f64 (pow.f64 x.re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 (neg.f64 x.re) x.re)))) |
(-.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 x.re))) |
(-.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 (fabs.f64 x.re)) (fabs.f64 x.re))) |
(-.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 x.re) x.re)) |
(-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 (*.f64 #s(literal -3 binary64) x.im)) x.im)) |
(-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal -3 binary64))) |
(-.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))) |
(+.f64 (/.f64 (*.f64 (pow.f64 x.im #s(literal 6 binary64)) #s(literal -27 binary64)) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64)))))) (/.f64 (pow.f64 x.re #s(literal 6 binary64)) (fma.f64 (pow.f64 x.im #s(literal 4 binary64)) #s(literal 9 binary64) (-.f64 (pow.f64 x.re #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (pow.f64 (*.f64 x.im x.re) #s(literal 2 binary64))))))) |
(+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (neg.f64 (neg.f64 x.re)) x.re)) |
(+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)) |
(+.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64))) |
(*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 (neg.f64 x.im))) |
(*.f64 (neg.f64 (fabs.f64 x.im)) (neg.f64 (fabs.f64 x.im))) |
(*.f64 (fabs.f64 (fabs.f64 x.im)) (fabs.f64 (fabs.f64 x.im))) |
(*.f64 (neg.f64 x.im) (neg.f64 x.im)) |
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im)) |
(*.f64 x.im x.im) |
(pow.f64 (neg.f64 x.im) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x.im) #s(literal 2 binary64)) |
(pow.f64 x.im #s(literal 2 binary64)) |
(neg.f64 (*.f64 (neg.f64 x.im) x.im)) |
(fabs.f64 (*.f64 x.im x.im)) |
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(*.f64 (*.f64 x.re (fabs.f64 x.re)) (fabs.f64 x.re)) |
(*.f64 (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (neg.f64 (pow.f64 x.re #s(literal 3/2 binary64)))) |
(*.f64 (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 x.re #s(literal 3/2 binary64)))) |
(*.f64 (*.f64 (neg.f64 x.re) x.re) (neg.f64 x.re)) |
(*.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64))) |
(*.f64 (neg.f64 x.re) (*.f64 (neg.f64 x.re) x.re)) |
(*.f64 (fabs.f64 x.re) (*.f64 (fabs.f64 x.re) x.re)) |
(*.f64 (*.f64 x.re x.re) x.re) |
(*.f64 x.re (*.f64 x.re x.re)) |
(pow.f64 (exp.f64 (log.f64 x.re)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 x.re #s(literal 3/2 binary64)) #s(literal 2 binary64)) |
(pow.f64 (*.f64 x.re x.re) #s(literal 3/2 binary64)) |
(pow.f64 x.re #s(literal 3 binary64)) |
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 3 binary64))) |
(+.f64 (cosh.f64 (*.f64 (log.f64 x.re) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 x.re) #s(literal 3 binary64)))) |
(/.f64 (/.f64 x.re (fabs.f64 x.im)) (fabs.f64 x.im)) |
(/.f64 (/.f64 (neg.f64 x.re) x.im) (neg.f64 x.im)) |
(/.f64 (neg.f64 x.re) (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (/.f64 x.re x.im) (neg.f64 (neg.f64 x.im))) |
(/.f64 (/.f64 x.re x.im) x.im) |
(/.f64 x.re (*.f64 x.im x.im)) |
(neg.f64 (/.f64 (/.f64 (neg.f64 x.re) x.im) x.im)) |
(neg.f64 (/.f64 (/.f64 x.re x.im) (neg.f64 x.im))) |
Compiled 7 609 to 750 computations (90.1% saved)
8 alts after pruning (5 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 206 | 5 | 211 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 3 | 4 |
| Done | 0 | 0 | 0 |
| Total | 207 | 8 | 215 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
| ✓ | 87.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
| ▶ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
| ▶ | 41.4% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
| ▶ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
| ▶ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| ▶ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
| ✓ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
Compiled 398 to 229 computations (42.5% saved)
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) | |
| cost-diff | 0 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) | |
| 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 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) | |
| cost-diff | 0 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) | |
| cost-diff | 0 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) | |
| cost-diff | 0 | (*.f64 x.im x.im) | |
| cost-diff | 0 | (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) | |
| cost-diff | 0 | (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) | |
| cost-diff | 0 | (*.f64 x.re x.re) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) | |
| cost-diff | 2 | (*.f64 (*.f64 x.re x.re) x.re) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 325 |
| 0 | 50 | 325 |
| 1 | 108 | 311 |
| 2 | 325 | 311 |
| 3 | 981 | 296 |
| 4 | 2500 | 281 |
| 5 | 5844 | 281 |
| 0 | 9023 | 268 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
(*.f64 (*.f64 x.re x.re) x.re) |
(*.f64 x.re x.re) |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) |
(*.f64 #s(literal -3 binary64) x.re) |
#s(literal -3 binary64) |
x.re |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.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) |
x.im |
(*.f64 x.im x.im) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(*.f64 (*.f64 x.re x.re) x.re) |
(pow.f64 x.re #s(literal 3 binary64)) |
(*.f64 x.re x.re) |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
x.re |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.im) (*.f64 x.im x.re))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.im) (*.f64 x.im x.re)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) |
#s(literal -3 binary64) |
(*.f64 x.im x.im) |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) |
(*.f64 #s(literal -3 binary64) x.re) |
#s(literal -3 binary64) |
x.re |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re)))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re))) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re)) x.re) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re)) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
(*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re) |
(/.f64 x.re x.im) |
x.im |
(*.f64 x.im x.im) |
Found 19 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.23046875 | (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) | |
| accuracy | 0.3658511959633165 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) | |
| accuracy | 12.48928047461334 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) | |
| accuracy | 32.370796590256134 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) | |
| accuracy | 0.0 | (*.f64 #s(literal -3 binary64) x.re) | |
| accuracy | 0.140625 | (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) | |
| accuracy | 0.1953125 | (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) | |
| accuracy | 27.951379313798785 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) | |
| accuracy | 0.0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) | |
| accuracy | 0.3658511959633165 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) | |
| accuracy | 12.48928047461334 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) | |
| accuracy | 30.878305641467467 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) | |
| accuracy | 0.0 | (*.f64 x.im x.im) | |
| accuracy | 0.16015625 | (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) | |
| accuracy | 7.860505813048612 | (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) | |
| accuracy | 27.951379313798785 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) | |
| accuracy | 0.0 | (*.f64 x.re x.re) | |
| accuracy | 0.0703125 | (*.f64 (*.f64 x.re x.re) x.re) | |
| accuracy | 27.18165585574735 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| 74.0ms | 238× | 0 | valid |
| 5.0ms | 7× | 4 | valid |
| 2.0ms | 5× | 2 | valid |
| 2.0ms | 4× | 3 | valid |
| 1.0ms | 2× | 1 | valid |
Compiled 233 to 27 computations (88.4% saved)
ival-mult: 56.0ms (82.7% of total)ival-div: 4.0ms (5.9% of total)adjust: 3.0ms (4.4% of total)ival-add: 3.0ms (4.4% of total)ival-sub: 2.0ms (3% 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 x.re x.re) x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
(*.f64 x.re x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) 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.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
| Outputs |
|---|
(pow x.re 3) |
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(pow x.re 2) |
(* -3 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (* x.im x.re)) |
(/ (pow x.re 2) (pow x.im 2)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(* -3 (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | x.im | @ | 0 | ((* (* x.re x.re) x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* x.re x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* -3 (* x.im x.im)) x.re) (* -3 (* x.im x.im)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (* (/ x.re x.im) (/ x.re x.im))) |
| 3.0ms | x.re | @ | -inf | ((* (* x.re x.re) x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* x.re x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* -3 (* x.im x.im)) x.re) (* -3 (* x.im x.im)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (* (/ x.re x.im) (/ x.re x.im))) |
| 3.0ms | x.re | @ | inf | ((* (* x.re x.re) x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* x.re x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* -3 (* x.im x.im)) x.re) (* -3 (* x.im x.im)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (* (/ x.re x.im) (/ x.re x.im))) |
| 2.0ms | x.re | @ | 0 | ((* (* x.re x.re) x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* x.re x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* -3 (* x.im x.im)) x.re) (* -3 (* x.im x.im)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (* (/ x.re x.im) (/ x.re x.im))) |
| 2.0ms | x.im | @ | inf | ((* (* x.re x.re) x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* x.re x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* -3 (* x.im x.im)) x.re) (* -3 (* x.im x.im)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (* (/ x.re x.im) (/ x.re x.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 315 |
| 1 | 195 | 281 |
| 2 | 749 | 281 |
| 3 | 4639 | 281 |
| 0 | 8256 | 266 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(pow x.re 3) |
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(pow x.re 2) |
(* -3 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (* x.im x.re)) |
(/ (pow x.re 2) (pow x.im 2)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(* -3 (pow x.im 2)) |
(pow x.im 2) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
| Outputs |
|---|
(pow x.re 3) |
(pow.f64 x.re #s(literal 3 binary64)) |
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(pow x.re 2) |
(*.f64 x.re x.re) |
(* -3 (* (pow x.im 2) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* -3 x.re) |
(*.f64 #s(literal -3 binary64) x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
-3 |
#s(literal -3 binary64) |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(* -3 (* x.im x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) |
(/ (pow x.re 2) (pow x.im 2)) |
(*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(/ (pow x.re 3) (pow x.im 2)) |
(/.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) x.im) x.im) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (*.f64 x.re x.re)) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(*.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* -3 (pow x.im 2)) |
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) |
(pow x.im 2) |
(*.f64 x.im x.im) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 304 |
| 0 | 50 | 274 |
| 1 | 172 | 254 |
| 0 | 1133 | 249 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
(*.f64 (*.f64 x.re x.re) x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
(*.f64 x.re x.re) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
(*.f64 x.im x.im) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) 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.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
| Outputs |
|---|
(*.f64 (*.f64 x.re (fabs.f64 x.re)) (fabs.f64 x.re)) |
(*.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64))) |
(*.f64 (*.f64 x.re (neg.f64 x.re)) (neg.f64 x.re)) |
(*.f64 (neg.f64 x.re) (*.f64 (neg.f64 x.re) x.re)) |
(*.f64 (fabs.f64 x.re) (*.f64 (fabs.f64 x.re) x.re)) |
(*.f64 (*.f64 x.re x.re) x.re) |
(*.f64 x.re (*.f64 x.re x.re)) |
(pow.f64 x.re #s(literal 3 binary64)) |
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 3 binary64))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64))) |
(*.f64 (neg.f64 (neg.f64 x.re)) (neg.f64 (neg.f64 x.re))) |
(*.f64 (neg.f64 (fabs.f64 x.re)) (neg.f64 (fabs.f64 x.re))) |
(*.f64 (fabs.f64 (fabs.f64 x.re)) (fabs.f64 (fabs.f64 x.re))) |
(*.f64 (neg.f64 x.re) (neg.f64 x.re)) |
(*.f64 (fabs.f64 x.re) (fabs.f64 x.re)) |
(*.f64 x.re x.re) |
(pow.f64 (neg.f64 x.re) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x.re) #s(literal 2 binary64)) |
(pow.f64 x.re #s(literal 2 binary64)) |
(neg.f64 (*.f64 (neg.f64 x.re) x.re)) |
(neg.f64 (*.f64 x.re (neg.f64 x.re))) |
(fabs.f64 (*.f64 x.re x.re)) |
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re)) |
(*.f64 x.im (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)) |
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(*.f64 (*.f64 #s(literal -3 binary64) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 #s(literal -3 binary64) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) #s(literal -3 binary64))) |
(*.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) #s(literal -3 binary64))) |
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) |
(*.f64 x.im (*.f64 #s(literal -3 binary64) x.im)) |
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64))) |
(*.f64 (neg.f64 (neg.f64 x.im)) (neg.f64 (neg.f64 x.im))) |
(*.f64 (neg.f64 (fabs.f64 x.im)) (neg.f64 (fabs.f64 x.im))) |
(*.f64 (fabs.f64 (fabs.f64 x.im)) (fabs.f64 (fabs.f64 x.im))) |
(*.f64 (neg.f64 x.im) (neg.f64 x.im)) |
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im)) |
(*.f64 x.im x.im) |
(pow.f64 (neg.f64 x.im) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 x.im) #s(literal 2 binary64)) |
(pow.f64 x.im #s(literal 2 binary64)) |
(neg.f64 (*.f64 (neg.f64 x.im) x.im)) |
(fabs.f64 (*.f64 x.im x.im)) |
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)))) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.im) x.im) x.re) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) x.im) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re))) |
(*.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re))) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) (*.f64 x.im x.im)) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) (*.f64 (*.f64 x.im x.im) x.re)) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re)) |
(*.f64 x.im (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) x.im)) |
(*.f64 x.re (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.im) x.im)) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) x.re) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re)) |
(*.f64 x.im (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)) |
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re)) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 x.im (*.f64 #s(literal -3 binary64) x.re)) |
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)) |
(*.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.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))))) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.re)) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re))) |
(*.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re))) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (*.f64 x.im x.im)) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 (*.f64 x.im x.im) x.re)) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re)) |
(*.f64 x.im (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.re))) |
(*.f64 x.re (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.im))) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (/.f64 x.re x.im) #s(literal 1 binary64)) (pow.f64 (/.f64 x.re x.im) #s(literal 1 binary64))) |
(*.f64 (/.f64 (neg.f64 x.re) (fabs.f64 x.im)) (/.f64 (neg.f64 x.re) (fabs.f64 x.im))) |
(*.f64 (/.f64 (fabs.f64 x.re) (neg.f64 x.im)) (/.f64 (fabs.f64 x.re) (neg.f64 x.im))) |
(*.f64 (/.f64 (fabs.f64 x.re) x.im) (/.f64 (fabs.f64 x.re) x.im)) |
(*.f64 (/.f64 x.re (fabs.f64 x.im)) (/.f64 x.re (fabs.f64 x.im))) |
(*.f64 (neg.f64 (fabs.f64 (/.f64 x.re x.im))) (neg.f64 (fabs.f64 (/.f64 x.re x.im)))) |
(*.f64 (fabs.f64 (fabs.f64 (/.f64 x.re x.im))) (fabs.f64 (fabs.f64 (/.f64 x.re x.im)))) |
(*.f64 (neg.f64 x.re) (/.f64 (neg.f64 x.re) (*.f64 x.im x.im))) |
(*.f64 (/.f64 (neg.f64 x.re) x.im) (/.f64 (neg.f64 x.re) x.im)) |
(*.f64 (fabs.f64 x.re) (/.f64 (fabs.f64 x.re) (*.f64 x.im x.im))) |
(*.f64 (fabs.f64 (/.f64 x.re x.im)) (fabs.f64 (/.f64 x.re x.im))) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
(*.f64 (/.f64 x.re (*.f64 x.im x.im)) x.re) |
(*.f64 x.re (/.f64 x.re (*.f64 x.im x.im))) |
(pow.f64 (/.f64 (neg.f64 x.re) x.im) #s(literal 2 binary64)) |
(pow.f64 (fabs.f64 (/.f64 x.re x.im)) #s(literal 2 binary64)) |
(pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)) |
(/.f64 (/.f64 (*.f64 x.re x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(/.f64 (/.f64 (*.f64 x.re x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(/.f64 (*.f64 (neg.f64 x.re) (/.f64 x.re x.im)) (neg.f64 x.im)) |
(/.f64 (*.f64 (/.f64 (neg.f64 x.re) x.im) x.re) (neg.f64 x.im)) |
(/.f64 (*.f64 (/.f64 x.re x.im) (neg.f64 x.re)) (neg.f64 x.im)) |
(/.f64 (*.f64 x.re (/.f64 (neg.f64 x.re) x.im)) (neg.f64 x.im)) |
(/.f64 (neg.f64 (*.f64 (/.f64 x.re x.im) x.re)) (neg.f64 x.im)) |
(/.f64 (*.f64 (neg.f64 x.re) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (*.f64 x.re (neg.f64 x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (neg.f64 (*.f64 x.re x.re)) (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (*.f64 (/.f64 x.re x.im) x.re) x.im) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(neg.f64 (*.f64 (/.f64 (neg.f64 x.re) x.im) (/.f64 x.re x.im))) |
(neg.f64 (*.f64 (/.f64 x.re x.im) (/.f64 (neg.f64 x.re) x.im))) |
(fabs.f64 (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) |
(exp.f64 (*.f64 (log.f64 (/.f64 x.re x.im)) #s(literal 2 binary64))) |
Compiled 6 451 to 617 computations (90.4% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 175 | 2 | 177 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 3 | 3 |
| Total | 177 | 8 | 185 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
| ✓ | 87.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
| ▶ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
| ▶ | 32.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
| ✓ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
| ✓ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| ✓ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
| ✓ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
Compiled 239 to 138 computations (42.3% saved)
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| cost-diff | 0 | (*.f64 x.im x.re) | |
| cost-diff | 0 | (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) | |
| cost-diff | 0 | (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) | |
| cost-diff | 0 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) | |
| cost-diff | 0 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) | |
| cost-diff | 0 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) | |
| cost-diff | 0 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 162 |
| 0 | 34 | 162 |
| 1 | 78 | 158 |
| 2 | 258 | 158 |
| 3 | 888 | 152 |
| 4 | 2367 | 146 |
| 5 | 5805 | 146 |
| 0 | 8660 | 140 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 x.re x.re) |
(*.f64 x.im x.im) |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal -3 binary64) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) x.im) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) x.im) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) x.re) |
x.re |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im))) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
(*.f64 x.re x.re) |
(*.f64 x.im x.im) |
x.im |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) |
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) x.re) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 x.im x.re) |
x.im |
x.re |
#s(literal -3 binary64) |
Found 8 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| accuracy | 0.0 | (*.f64 x.im x.re) | |
| accuracy | 0.140625 | (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) | |
| accuracy | 0.2265625 | (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) | |
| accuracy | 27.951379313798785 | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) | |
| accuracy | 0.3658511959633165 | (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) | |
| accuracy | 12.48928047461334 | (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) | |
| accuracy | 14.652810844345227 | (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) | |
| accuracy | 32.370796590256134 | #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
| 41.0ms | 238× | 0 | valid |
| 4.0ms | 7× | 4 | valid |
| 2.0ms | 5× | 2 | valid |
| 2.0ms | 4× | 3 | valid |
| 1.0ms | 2× | 1 | valid |
Compiled 108 to 23 computations (78.7% saved)
ival-mult: 26.0ms (67.4% of total)ival-div: 5.0ms (13% of total)adjust: 3.0ms (7.8% of total)ival-add: 3.0ms (7.8% of total)ival-sub: 2.0ms (5.2% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 x.im x.re) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* -3 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (* x.im x.re)) |
(* x.im x.re) |
(/ (pow x.re 2) (pow x.im 2)) |
(pow x.re 3) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | x.re | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.re) -3) x.im) (* (* x.im x.re) -3) (* x.im x.re) (/ (* x.re x.re) (* x.im x.im))) |
| 2.0ms | x.re | @ | -inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.re) -3) x.im) (* (* x.im x.re) -3) (* x.im x.re) (/ (* x.re x.re) (* x.im x.im))) |
| 2.0ms | x.im | @ | -inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.re) -3) x.im) (* (* x.im x.re) -3) (* x.im x.re) (/ (* x.re x.re) (* x.im x.im))) |
| 2.0ms | x.re | @ | 0 | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.re) -3) x.im) (* (* x.im x.re) -3) (* x.im x.re) (/ (* x.re x.re) (* x.im x.im))) |
| 2.0ms | x.im | @ | inf | ((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (* x.im x.im)) (* x.re (+ (* (/ (/ x.re x.im) x.im) x.re) -3)) (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.re) -3) x.im) (* (* x.im x.re) -3) (* x.im x.re) (/ (* x.re x.re) (* x.im x.im))) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 307 |
| 1 | 196 | 273 |
| 2 | 750 | 273 |
| 3 | 4666 | 273 |
| 0 | 8283 | 258 |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(* -3 (* (pow x.im 2) x.re)) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(* -3 x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
-3 |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(* -3 (* x.im x.re)) |
(* x.im x.re) |
(/ (pow x.re 2) (pow x.im 2)) |
(pow x.re 3) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(/ (pow x.re 3) (pow x.im 2)) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
| Outputs |
|---|
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2)))) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2)))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* -3 (* (pow x.im 2) x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* -3 x.re) |
(*.f64 #s(literal -3 binary64) x.re) |
(* x.re (- (/ (pow x.re 2) (pow x.im 2)) 3)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
-3 |
#s(literal -3 binary64) |
(- (/ (pow x.re 2) (pow x.im 2)) 3) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(* -3 (* x.im x.re)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) |
(* x.im x.re) |
(*.f64 x.im x.re) |
(/ (pow x.re 2) (pow x.im 2)) |
(*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) |
(pow x.re 3) |
(pow.f64 x.re #s(literal 3 binary64)) |
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(/ (pow x.re 3) (pow x.im 2)) |
(/.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) x.im) x.im) |
(* (pow x.re 3) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (pow.f64 x.re #s(literal 3 binary64))) |
(* (pow x.re 2) (- (/ 1 (pow x.im 2)) (* 3 (/ 1 (pow x.re 2))))) |
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)) (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re))) (*.f64 x.re x.re)) |
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2))))))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1))) |
(*.f64 (fma.f64 (/.f64 #s(literal -3 binary64) x.re) (/.f64 (*.f64 x.im x.im) x.re) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))) |
(* -1 (* (pow x.re 3) (- (* 3 (/ 1 (pow x.re 2))) (/ 1 (pow x.im 2))))) |
(*.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 3 binary64) (*.f64 x.re x.re)) (/.f64 #s(literal 1 binary64) (*.f64 x.im x.im)))) |
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(/ (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3)) (pow x.im 2)) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
(/ (+ (* -3 (pow x.im 2)) (pow x.re 2)) (pow x.im 2)) |
(fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) |
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) |
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re) |
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2)))) |
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re) |
(+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))) |
(*.f64 (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64)) x.re) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 151 |
| 0 | 34 | 151 |
| 1 | 143 | 125 |
| 0 | 1046 | 123 |
| 1× | iter limit |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im)) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 x.im x.re) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))))) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(*.f64 (*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)))) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.im)) x.re) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.re)) x.im) |
(*.f64 (neg.f64 x.im) (*.f64 (neg.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re))) |
(*.f64 (fabs.f64 x.im) (*.f64 (fabs.f64 x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re))) |
(*.f64 (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) (*.f64 x.im x.im)) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im x.im))) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re)) |
(*.f64 x.im (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.re))) |
(*.f64 x.re (*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) (*.f64 x.im x.im))) |
(*.f64 #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) x.re) |
(*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)))) |
#s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
(*.f64 (*.f64 x.im (*.f64 x.im x.re)) #s(literal -3 binary64)) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)) |
(*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im) |
(*.f64 (*.f64 x.im x.re) (*.f64 #s(literal -3 binary64) x.im)) |
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re)) |
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im)) |
(*.f64 x.im (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64))) |
(*.f64 x.re (*.f64 x.im (*.f64 #s(literal -3 binary64) x.im))) |
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) |
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) |
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) |
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re)) |
(*.f64 x.im (*.f64 #s(literal -3 binary64) x.re)) |
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)) |
(*.f64 x.im x.re) |
(*.f64 x.re x.im) |
(*.f64 (/.f64 (neg.f64 x.re) (fabs.f64 x.im)) (/.f64 (neg.f64 x.re) (fabs.f64 x.im))) |
(*.f64 (/.f64 (fabs.f64 x.re) (neg.f64 x.im)) (/.f64 (fabs.f64 x.re) (neg.f64 x.im))) |
(*.f64 (/.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (/.f64 (fabs.f64 x.re) (fabs.f64 x.im))) |
(*.f64 (/.f64 (fabs.f64 x.re) x.im) (/.f64 (fabs.f64 x.re) x.im)) |
(*.f64 (/.f64 x.re (fabs.f64 x.im)) (/.f64 x.re (fabs.f64 x.im))) |
(*.f64 (fabs.f64 (/.f64 x.re x.im)) (fabs.f64 (/.f64 x.re x.im))) |
(*.f64 (/.f64 (neg.f64 x.re) x.im) (/.f64 (neg.f64 x.re) x.im)) |
(*.f64 (neg.f64 x.re) (/.f64 (neg.f64 x.re) (*.f64 x.im x.im))) |
(*.f64 (fabs.f64 x.re) (/.f64 (fabs.f64 x.re) (*.f64 x.im x.im))) |
(*.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re) |
(*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)) |
(*.f64 x.re (/.f64 (/.f64 x.re x.im) x.im)) |
(pow.f64 (/.f64 x.re x.im) #s(literal 2 binary64)) |
(/.f64 (/.f64 (*.f64 x.re x.re) (neg.f64 x.im)) (neg.f64 x.im)) |
(/.f64 (/.f64 (*.f64 x.re x.re) (fabs.f64 x.im)) (fabs.f64 x.im)) |
(/.f64 (*.f64 (/.f64 (neg.f64 x.re) x.im) x.re) (neg.f64 x.im)) |
(/.f64 (*.f64 (neg.f64 x.re) (/.f64 x.re x.im)) (neg.f64 x.im)) |
(/.f64 (*.f64 (/.f64 x.re x.im) (neg.f64 x.re)) (neg.f64 x.im)) |
(/.f64 (*.f64 x.re (/.f64 (neg.f64 x.re) x.im)) (neg.f64 x.im)) |
(/.f64 (neg.f64 (*.f64 (/.f64 x.re x.im) x.re)) (neg.f64 x.im)) |
(/.f64 (*.f64 (/.f64 x.re x.im) x.re) x.im) |
(/.f64 (*.f64 (neg.f64 x.re) x.re) (*.f64 (neg.f64 x.im) x.im)) |
(/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) |
(neg.f64 (/.f64 (*.f64 (neg.f64 x.re) x.re) (*.f64 x.im x.im))) |
(neg.f64 (/.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))) |
Compiled 2 971 to 323 computations (89.1% saved)
8 alts after pruning (0 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 76 | 0 | 76 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 6 | 6 |
| Total | 76 | 8 | 84 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
| ✓ | 87.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
| ✓ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
| ✓ | 32.0% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
| ✓ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
| ✓ | 57.5% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| ✓ | 50.8% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
| ✓ | 56.2% | #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
Compiled 601 to 205 computations (65.9% saved)
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64))) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))) |
3 calls:
| 31.0ms | x.im |
| 4.0ms | x.re |
| 3.0ms | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 99.9% | 3 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| 95.6% | 3 | x.re |
| 96.4% | 2 | x.im |
Compiled 21 to 15 computations (28.6% saved)
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im x.im))) |
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) (*.f64 (/.f64 x.re x.im) (/.f64 x.re x.im)))) (*.f64 x.im x.im))) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
2 calls:
| 25.0ms | x.im |
| 3.0ms | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 96.4% | 2 | x.im |
| 95.6% | 2 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
Compiled 20 to 13 computations (35% saved)
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
2 calls:
| 2.0ms | x.im |
| 2.0ms | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.6% | 2 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| 82.1% | 2 | x.im |
Compiled 20 to 13 computations (35% saved)
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(approx (+ (* (/ (/ x.re x.im) x.im) x.re) -3) #s(literal -3 binary64))) (*.f64 x.im x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
1 calls:
| 2.0ms | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.5% | 2 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
Compiled 19 to 11 computations (42.1% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| Outputs |
|---|
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
3 calls:
| 1.0ms | x.im |
| 1.0ms | x.re |
| 1.0ms | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 57.5% | 1 | x.im |
| 57.5% | 1 | x.re |
| 57.5% | 1 | (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) |
Compiled 21 to 15 computations (28.6% saved)
| 2× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | +inf | NaN |
| 0.0ms | -1.1528359098919932e+288 | -2.480760653033516e+267 |
Compiled 22 to 16 computations (27.3% saved)
| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 9.0ms | 5.976023404181895e+150 | 2.3726743388939123e+151 |
| 6.0ms | 80× | 0 | valid |
Compiled 307 to 191 computations (37.8% saved)
ival-mult: 3.0ms (76.1% of total)ival-sub: 1.0ms (25.4% of total)ival-true: 0.0ms (0% of total)ival-add: 0.0ms (0% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -8.1837e-320 | -0.0 |
Compiled 22 to 16 computations (27.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | -8.1837e-320 | -0.0 |
Compiled 22 to 16 computations (27.3% saved)
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 358 |
| 1 | 83 | 340 |
| 2 | 199 | 340 |
| 3 | 556 | 313 |
| 4 | 1465 | 304 |
| 5 | 4800 | 304 |
| 1× | node limit |
| Inputs |
|---|
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1000000000000000007630473539575035660514778335511710750780086664439969510636494954611131549135839186513983455555395220895687860544809584999829725260594873271087399626486606146442550988840016917394626449536395208620267012778077787723395914064607119962069483324573977857832138825282954985472 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) (if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal +inf.0 binary64)) (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))))) |
(if (<=.f64 x.im #s(literal 23000000000000000831186479483371674044498424126705267359969171836350908073292455974573614376619452315976486135208287856467454554583604674494920440938496 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im))) |
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1265/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re))) |
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1265/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
| Outputs |
|---|
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1000000000000000007630473539575035660514778335511710750780086664439969510636494954611131549135839186513983455555395220895687860544809584999829725260594873271087399626486606146442550988840016917394626449536395208620267012778077787723395914064607119962069483324573977857832138825282954985472 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) (if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal +inf.0 binary64)) (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re (fma.f64 (/.f64 (/.f64 x.re x.im) x.im) x.re #s(literal -3 binary64))) (*.f64 x.im x.im))))) |
(if (<=.f64 x.im #s(literal 23000000000000000831186479483371674044498424126705267359969171836350908073292455974573614376619452315976486135208287856467454554583604674494920440938496 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im))) |
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1265/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.re) #s(literal -3 binary64)) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re))) |
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1265/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.re) x.im))) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re))) |
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re x.re) x.re)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 304 |
| 0 | 50 | 274 |
| 1 | 172 | 254 |
| 0 | 1133 | 249 |
| 0 | 30 | 190 |
| 0 | 44 | 190 |
| 1 | 176 | 174 |
| 0 | 1234 | 170 |
| 0 | 56 | 229 |
| 1 | 172 | 207 |
| 2 | 669 | 206 |
| 3 | 3812 | 206 |
| 0 | 8304 | 200 |
| 1× | done |
| 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 |
Compiled 358 to 51 computations (85.8% saved)
(abs x.im)
Compiled 1 532 to 362 computations (76.4% saved)
Loading profile data...