math.cube on complex, real part

Time bar (total: 5.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 22 to 12 computations (45.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-sub: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample1.3s (24.4%)

Results
982.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 552.0ms
ival-mult: 415.0ms (75.1% of total)
ival-sub: 84.0ms (15.2% of total)
ival-add: 43.0ms (7.8% of total)
const: 7.0ms (1.3% of total)
backward-pass: 3.0ms (0.5% of total)
Bogosity

preprocess310.0ms (5.8%)

Algorithm
egg-herbie
Rules
3504×sum5-define
2474×sum4-define
2420×fma-lowering-fma.f32
2420×fma-lowering-fma.f64
2216×sum5-define
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
03696
114486
235078
3120460
4405660
5509154
6530454
7532754
8532754
01115
13214
27313
322110
46539
525318
649508
765478
867688
967828
1067828
082308
Stop Event
iter limit
node limit
node limit
Calls
Call 1
Inputs
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
Outputs
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
Call 2
Inputs
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
(- (* (- (* (neg x.re) (neg x.re)) (* x.im x.im)) (neg x.re)) (* (+ (* (neg x.re) x.im) (* x.im (neg x.re))) x.im))
(- (* (- (* x.re x.re) (* (neg x.im) (neg x.im))) x.re) (* (+ (* x.re (neg x.im)) (* (neg x.im) x.re)) (neg x.im)))
(neg (- (* (- (* (neg x.re) (neg x.re)) (* x.im x.im)) (neg x.re)) (* (+ (* (neg x.re) x.im) (* x.im (neg x.re))) x.im)))
(neg (- (* (- (* x.re x.re) (* (neg x.im) (neg x.im))) x.re) (* (+ (* x.re (neg x.im)) (* (neg x.im) x.re)) (neg x.im))))
(- (* (- (* x.im x.im) (* x.re x.re)) x.im) (* (+ (* x.im x.re) (* x.re x.im)) x.re))
Outputs
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
(* x.re (+ (square x.re) (* (square x.im) -3)))
(- (* (- (* (neg x.re) (neg x.re)) (* x.im x.im)) (neg x.re)) (* (+ (* (neg x.re) x.im) (* x.im (neg x.re))) x.im))
(* x.re (- (* (square x.im) 3) (square x.re)))
(- (* (- (* x.re x.re) (* (neg x.im) (neg x.im))) x.re) (* (+ (* x.re (neg x.im)) (* (neg x.im) x.re)) (neg x.im)))
(* x.re (+ (square x.re) (* (square x.im) -3)))
(neg (- (* (- (* (neg x.re) (neg x.re)) (* x.im x.im)) (neg x.re)) (* (+ (* (neg x.re) x.im) (* x.im (neg x.re))) x.im)))
(* x.re (+ (square x.re) (* (square x.im) -3)))
(neg (- (* (- (* x.re x.re) (* (neg x.im) (neg x.im))) x.re) (* (+ (* x.re (neg x.im)) (* (neg x.im) x.re)) (neg x.im))))
(* x.re (- (* (square x.im) 3) (square x.re)))
(- (* (- (* x.im x.im) (* x.re x.re)) x.im) (* (+ (* x.im x.re) (* x.re x.im)) x.re))
(* x.im (+ (square x.im) (* (square x.re) -3)))
Symmetry

(abs x.im)

(negabs x.re)

explain132.0ms (2.4%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
230-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))
180-0-(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
130-0-(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
00-0-x.im
00-0-x.re
00-0-(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
00-0-(*.f64 x.im x.re)
00-0-(*.f64 x.re x.re)
00-0-(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
00-0-(*.f64 x.im x.im)
00-0-(*.f64 x.re x.im)
Results
81.0ms512×0valid
Compiler

Compiled 157 to 35 computations (77.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-mult: 21.0ms (70% of total)
ival-sub: 6.0ms (20% of total)
ival-add: 3.0ms (10% of total)
const: 1.0ms (3.3% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 13 to 8 computations (38.5% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
83.9%
(-.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))
88.1%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
Compiler

Compiled 34 to 19 computations (44.1% saved)

simplify180.0ms (3.3%)

Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
cost-diff0
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
cost-diff128
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
cost-diff384
(-.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))
cost-diff0
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
cost-diff0
(*.f64 x.re x.re)
cost-diff0
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
cost-diff0
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
Rules
2420×fma-lowering-fma.f32
2420×fma-lowering-fma.f64
2228×sum5-define
2126×fmm-def
1796×sum4-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01675
14970
211269
327469
471069
5256969
6507569
7667469
8689569
9690969
10690969
0825969
Stop Event
iter limit
node limit
Calls
Call 1
Inputs
(* x.re (+ (* x.re x.re) (* x.im (* x.im -3))))
x.re
(+ (* x.re x.re) (* x.im (* x.im -3)))
(* x.re x.re)
(* x.im (* x.im -3))
x.im
(* x.im -3)
-3
(- (* (- (* 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)
(- (* x.re x.re) (* x.im x.im))
(* x.re x.re)
x.re
(* x.im x.im)
x.im
(* (+ (* x.re x.im) (* x.im x.re)) x.im)
(+ (* x.re x.im) (* x.im x.re))
(* x.re x.im)
(* x.im x.re)
Outputs
(* x.re (+ (* x.re x.re) (* x.im (* x.im -3))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
x.re
(+ (* x.re x.re) (* x.im (* x.im -3)))
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(* x.re x.re)
(*.f64 x.re x.re)
(* x.im (* x.im -3))
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
x.im
(* x.im -3)
(*.f64 x.im #s(literal -3 binary64))
-3
#s(literal -3 binary64)
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(* (- (* x.re x.re) (* x.im x.im)) x.re)
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(- (* x.re x.re) (* x.im x.im))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* x.re x.re)
(*.f64 x.re x.re)
x.re
(* x.im x.im)
(*.f64 x.im x.im)
x.im
(* (+ (* x.re x.im) (* x.im x.re)) x.im)
(*.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal 2 binary64)))
(+ (* x.re x.im) (* x.im x.re))
(*.f64 (*.f64 x.re x.im) #s(literal 2 binary64))
(* x.re x.im)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)

localize78.0ms (1.5%)

Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy99.8%
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
accuracy95.2%
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
accuracy93.9%
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
accuracy92.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))
accuracy100.0%
(*.f64 x.im #s(literal -3 binary64))
accuracy99.8%
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
accuracy95.2%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
accuracy93.9%
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
Results
59.0ms256×0valid
Compiler

Compiled 102 to 17 computations (83.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 20.0ms (78.5% of total)
ival-sub: 2.0ms (7.8% of total)
ival-add: 2.0ms (7.8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series40.0ms (0.7%)

Counts
10 → 204
Calls
Call 1
Inputs
#<alt (* x.re (+ (* x.re x.re) (* x.im (* x.im -3))))>
#<alt (+ (* x.re x.re) (* x.im (* x.im -3)))>
#<alt (* x.re x.re)>
#<alt (* x.im (* x.im -3))>
#<alt (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))>
#<alt (+ (* x.re x.im) (* x.im x.re))>
#<alt (* (- (* x.re x.re) (* x.im x.im)) x.re)>
#<alt (- (* x.re x.re) (* x.im x.im))>
#<alt (* x.im -3)>
#<alt (* (+ (* x.re x.im) (* x.im x.re)) x.im)>
Outputs
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (pow x.im 2))>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -3 (pow x.im 2)) (pow x.re 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (* -3 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))>
#<alt (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))>
#<alt (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))>
#<alt (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))>
#<alt (pow x.re 3)>
#<alt (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* 2 (* x.im x.re))>
#<alt (* -1 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -1 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -1 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -1 (pow x.im 2))>
#<alt (- (pow x.re 2) (pow x.im 2))>
#<alt (- (pow x.re 2) (pow x.im 2))>
#<alt (- (pow x.re 2) (pow x.im 2))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (+ (* -1 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -1 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -1 (pow x.im 2)) (pow x.re 2))>
#<alt (* -1 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* -1 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
Calls

51 calls:

TimeVariablePointExpression
26.0ms
x.re
@0
(* x.re (+ (* x.re x.re) (* x.im (* x.im -3))))
2.0ms
x.re
@inf
(+ (* x.re x.im) (* x.im x.re))
1.0ms
x.re
@0
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
1.0ms
x.re
@inf
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
1.0ms
x.re
@-inf
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))

rewrite146.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1330×sum3-define
1262×fmsub-define
1162×*-lowering-*.f32
1162×*-lowering-*.f64
1128×fmm-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01660
16055
215954
375054
4478654
0828054
Stop Event
iter limit
node limit
Counts
10 → 429
Calls
Call 1
Inputs
(* x.re (+ (* x.re x.re) (* x.im (* x.im -3))))
(+ (* x.re x.re) (* x.im (* x.im -3)))
(* x.re x.re)
(* x.im (* x.im -3))
(- (* (- (* 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.im -3)
(* (+ (* x.re x.im) (* x.im x.re)) x.im)
Outputs
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) #s(literal 0 binary64))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) (neg.f64 (+.f64 (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))
(+.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (+.f64 (*.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -4 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (*.f64 x.re (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))) (*.f64 x.im (*.f64 x.re x.im)))
(+.f64 (+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re x.im)))
(-.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) #s(literal 0 binary64))
(fma.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 x.re (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) #s(literal 0 binary64))
(fma.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.im #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.im (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (+.f64 (*.f64 x.im #s(literal -2 binary64)) x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re #s(literal 0 binary64))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (-.f64 #s(literal 0 binary64) x.re) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (-.f64 #s(literal 0 binary64) x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.im #s(literal -2 binary64)) x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 #s(literal 2 binary64) #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) x.re (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) x.im (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im (*.f64 x.re x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) x.im (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -1 binary64) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 x.im x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.im #s(literal -2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(neg.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))))
(*.f64 x.re (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(*.f64 x.re (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re)
(*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(*.f64 (-.f64 #s(literal 0 binary64) x.re) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re x.re))
(fma.f64 x.re x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 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 #s(literal -3 binary64)) x.im (*.f64 x.re x.re))
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(+.f64 (*.f64 x.re x.re) #s(literal 0 binary64))
(+.f64 (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im x.im))
(+.f64 #s(literal 0 binary64) (*.f64 x.re x.re))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(+.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))
(+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.re)))
(exp.f64 (log.f64 (*.f64 x.re x.re)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 x.re)))
(-.f64 (*.f64 x.re x.re) #s(literal 0 binary64))
(-.f64 (*.f64 x.im x.im) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.re x.re)))
(-.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (*.f64 x.im x.im))
(-.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im x.im))
(fma.f64 x.re x.re #s(literal 0 binary64))
(fma.f64 x.im x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(fma.f64 x.im #s(literal 0 binary64) (*.f64 x.re x.re))
(fma.f64 #s(literal 0 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 #s(literal 1 binary64) (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.re)))
(pow.f64 x.re #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.re))
(*.f64 x.re x.re)
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 x.im (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) x.im (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(neg.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) x.im) (+.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(*.f64 #s(literal -1 binary64) (+.f64 (*.f64 x.im x.im) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) #s(literal 0 binary64))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) (neg.f64 (+.f64 (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))
(+.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (+.f64 (*.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -4 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (*.f64 x.re (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))) (*.f64 x.im (*.f64 x.re x.im)))
(+.f64 (+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re x.im)))
(-.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
(-.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) #s(literal 0 binary64))
(fma.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 x.re (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) #s(literal 0 binary64))
(fma.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.im #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.im (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (+.f64 (*.f64 x.im #s(literal -2 binary64)) x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re #s(literal 0 binary64))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (-.f64 #s(literal 0 binary64) x.re) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (-.f64 #s(literal 0 binary64) x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.im #s(literal -2 binary64)) x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal -1 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 #s(literal 2 binary64) #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) x.re (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) x.im (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im (*.f64 x.re x.im)) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) x.im (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -1 binary64) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 x.im x.im) (neg.f64 (+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))
(fma.f64 (*.f64 x.im #s(literal -2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(neg.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))))
(*.f64 x.re (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(*.f64 x.re (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re)
(*.f64 #s(literal -1 binary64) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(*.f64 (-.f64 #s(literal 0 binary64) x.re) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(-.f64 (*.f64 x.re x.im) (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)))
(-.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))))
(fma.f64 x.re x.im (*.f64 x.re x.im))
(fma.f64 x.re (*.f64 x.im #s(literal 2 binary64)) #s(literal 0 binary64))
(fma.f64 x.im x.re (*.f64 x.re x.im))
(fma.f64 x.im (*.f64 x.re #s(literal 2 binary64)) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.im) #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re x.im) #s(literal 0 binary64))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) x.re #s(literal 0 binary64))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) x.im #s(literal 0 binary64))
(neg.f64 (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(*.f64 x.re (neg.f64 (*.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 x.re (+.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal 0 binary64)))
(*.f64 x.im (*.f64 x.re #s(literal 2 binary64)))
(*.f64 x.im (neg.f64 (*.f64 x.re #s(literal -2 binary64))))
(*.f64 x.im (neg.f64 (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 x.im (+.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (+.f64 (-.f64 #s(literal 0 binary64) x.re) x.re))))
(*.f64 (*.f64 x.re x.im) #s(literal 2 binary64))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 x.re x.im))
(*.f64 #s(literal 2 binary64) (+.f64 (*.f64 x.re x.im) #s(literal 0 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) #s(literal -2 binary64))
(*.f64 (*.f64 x.im #s(literal 2 binary64)) x.re)
(*.f64 (*.f64 x.im #s(literal 2 binary64)) (neg.f64 (-.f64 #s(literal 0 binary64) x.re)))
(*.f64 (*.f64 x.im #s(literal 2 binary64)) (+.f64 x.re (+.f64 (-.f64 #s(literal 0 binary64) x.re) x.re)))
(*.f64 (*.f64 x.re #s(literal 2 binary64)) x.im)
(*.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 x.im #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 #s(literal -2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re #s(literal -2 binary64)) (-.f64 #s(literal 0 binary64) x.im))
(*.f64 (*.f64 x.im #s(literal -2 binary64)) (-.f64 #s(literal 0 binary64) x.re))
(*.f64 (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) x.im))
(*.f64 (neg.f64 (-.f64 #s(literal 0 binary64) x.re)) (*.f64 x.im #s(literal 2 binary64)))
(*.f64 (neg.f64 (*.f64 x.re #s(literal -2 binary64))) x.im)
(*.f64 (neg.f64 (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64))) x.im)
(+.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) #s(literal 0 binary64))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 #s(literal 0 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) x.re))
(+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (+.f64 (*.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))) (*.f64 x.im (*.f64 x.re x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) x.re) (*.f64 x.im (*.f64 x.re x.im)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re x.re))) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (*.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(-.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) #s(literal 0 binary64))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))
(-.f64 #s(literal 0 binary64) (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.im)))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re x.re))) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
(-.f64 (*.f64 x.re (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(-.f64 (*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)))) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.re x.re) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 0 binary64))
(fma.f64 x.re #s(literal 0 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.re (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (*.f64 x.re x.re) x.re (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 x.im #s(literal 0 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 x.im (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.im) (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 #s(literal 0 binary64) x.re (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 #s(literal 1 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(fma.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(neg.f64 (*.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 x.re (+.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 x.re (+.f64 (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
(+.f64 (*.f64 x.re x.re) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))
(+.f64 (*.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 0 binary64))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.re)) (*.f64 x.re x.re))))
(+.f64 #s(literal 0 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(+.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (*.f64 x.im x.im))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(-.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(fma.f64 x.re x.re (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))
(fma.f64 x.im (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re x.re))
(fma.f64 x.im #s(literal 0 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (*.f64 x.re x.re))
(fma.f64 (-.f64 #s(literal 0 binary64) x.im) x.im (*.f64 x.re x.re))
(fma.f64 #s(literal 0 binary64) (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(fma.f64 #s(literal 2 binary64) #s(literal 0 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(neg.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(*.f64 #s(literal -1 binary64) (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(+.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.im #s(literal -2 binary64)))
(-.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.im #s(literal 2 binary64)))
(fma.f64 x.im #s(literal -1 binary64) (*.f64 x.im #s(literal -2 binary64)))
(fma.f64 #s(literal -1 binary64) x.im (*.f64 x.im #s(literal -2 binary64)))
(neg.f64 (+.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.im #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) x.im)
(*.f64 #s(literal -1 binary64) (+.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal 0 binary64))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (+.f64 (*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal 0 binary64)) #s(literal 0 binary64)))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (+.f64 (*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal 0 binary64)) #s(literal 0 binary64))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal 0 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64)))
(+.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (neg.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -4 binary64))))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64))))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) (*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal -2 binary64)))
(+.f64 (*.f64 x.im (*.f64 x.re x.im)) (*.f64 x.im (*.f64 x.re x.im)))
(+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 4 binary64)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.im (*.f64 x.re x.im))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 4 binary64)) (*.f64 x.im (*.f64 x.re x.im))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (neg.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im)))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (neg.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -4 binary64))))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (neg.f64 (*.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.im #s(literal -4 binary64)) x.im))) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(+.f64 (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(+.f64 (*.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) x.re)) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(-.f64 (*.f64 x.im (*.f64 x.re x.im)) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 4 binary64)) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(-.f64 (+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re x.im)))
(-.f64 (-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 4 binary64)) (*.f64 x.im (*.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.im x.im) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64))
(fma.f64 x.re (-.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 x.im (*.f64 x.re x.im) (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) #s(literal 0 binary64))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 4 binary64))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.im x.im) x.re (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.im) x.im (*.f64 x.im (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im #s(literal 0 binary64))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.im #s(literal 2 binary64)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 x.im (*.f64 x.re x.im)) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal 0 binary64))
(fma.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) #s(literal 0 binary64))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) #s(literal 0 binary64))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) x.re #s(literal 0 binary64))
(neg.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.re (+.f64 (-.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64)))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.im (+.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.re x.im) #s(literal 0 binary64))))
(*.f64 x.im (+.f64 (+.f64 (*.f64 x.re x.im) #s(literal 0 binary64)) (*.f64 x.re x.im)))
(*.f64 x.im (+.f64 (*.f64 x.re (*.f64 x.im #s(literal 4 binary64))) (*.f64 x.re (*.f64 x.im #s(literal -2 binary64)))))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)))
(*.f64 (*.f64 x.im x.im) (neg.f64 (*.f64 x.re #s(literal -2 binary64))))
(*.f64 (*.f64 x.im x.im) (neg.f64 (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)))
(*.f64 (*.f64 x.re x.im) (neg.f64 (*.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.im #s(literal 4 binary64)) (*.f64 x.im #s(literal -2 binary64))))
(*.f64 (*.f64 x.re x.im) (+.f64 (*.f64 x.im #s(literal 4 binary64)) (*.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im)
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (+.f64 (*.f64 x.im #s(literal 2 binary64)) (-.f64 #s(literal 0 binary64) x.im)))
(*.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))) #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) x.im) (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))))
(*.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 x.im (*.f64 x.re x.im)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 x.re #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)) (*.f64 (*.f64 x.re #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -2 binary64))) (-.f64 #s(literal 0 binary64) x.im))
(*.f64 #s(literal 1 binary64) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (*.f64 x.im #s(literal -2 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)) (*.f64 (*.f64 x.im #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))) #s(literal -2 binary64))
(*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal 2 binary64))
(*.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.im #s(literal 2 binary64)) (+.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im))))
(*.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im))
(*.f64 (-.f64 #s(literal 0 binary64) x.re) (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))))
(*.f64 #s(literal -2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(*.f64 (*.f64 x.re #s(literal -2 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im #s(literal -2 binary64)) (-.f64 #s(literal 0 binary64) (*.f64 x.re x.im)))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) x.re)
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal -2 binary64))) (-.f64 #s(literal 0 binary64) x.re))
(*.f64 (neg.f64 (-.f64 #s(literal 0 binary64) x.re)) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(*.f64 (neg.f64 (*.f64 x.re #s(literal -2 binary64))) (*.f64 x.im x.im))

simplify239.0ms (4.4%)

Algorithm
egg-herbie
Rules
3976×*-lowering-*.f32
3976×*-lowering-*.f64
1798×+-lowering-+.f64
1798×+-lowering-+.f32
1184×/-lowering-/.f32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0761410
12431149
27601137
333161137
086491137
Stop Event
iter limit
node limit
Counts
204 → 204
Calls
Call 1
Inputs
(* -3 (* (pow x.im 2) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -3 (/ (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) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(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))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (pow x.im 2))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(pow x.re 2)
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 2)
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 2)
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(* -3 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(* -3 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* 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))))
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 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 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 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 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 (* (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 (* -2 (/ (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)))))))
(pow x.re 3)
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(* (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))) (* 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) (* 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))) (* 2 x.re)))
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* 2 (* x.im x.re))
(* -1 (* (pow x.im 2) x.re))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -1 (/ (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 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(pow x.re 3)
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -1 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -1 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -1 (pow x.im 2))
(- (pow x.re 2) (pow x.im 2))
(- (pow x.re 2) (pow x.im 2))
(- (pow x.re 2) (pow x.im 2))
(pow x.re 2)
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 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)))))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 2)
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(* -1 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* -1 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
Outputs
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.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 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.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 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(+ (* -3 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -3 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 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 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.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 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.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 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))
(*.f64 #s(literal -3 binary64) (*.f64 (*.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 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))
(*.f64 #s(literal -3 binary64) (*.f64 (*.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 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* 2 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* -1 (* (pow x.im 2) x.re))
(-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* -1 (* (pow x.im 2) x.re))
(-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* -1 (* (pow x.im 2) x.re))
(-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(* -1 (pow x.im 2))
(-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))
(- (pow x.re 2) (pow x.im 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(- (pow x.re 2) (pow x.im 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(- (pow x.re 2) (pow x.im 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(pow x.re 2)
(*.f64 x.re x.re)
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(pow x.re 2)
(*.f64 x.re x.re)
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(pow x.re 2)
(*.f64 x.re x.re)
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+ (* -1 (pow x.im 2)) (pow x.re 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(* -1 (pow x.im 2))
(-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* -1 (pow x.im 2))
(-.f64 #s(literal 0 binary64) (*.f64 x.im x.im))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))
(*.f64 (*.f64 x.im x.im) (+.f64 #s(literal -1 binary64) (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))

eval71.0ms (1.3%)

Compiler

Compiled 12016 to 943 computations (92.2% saved)

prune65.0ms (1.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New6627669
Fresh000
Picked112
Done000
Total6638671
Accuracy
100.0%
Counts
671 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.1%
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
80.3%
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
72.1%
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
84.9%
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
88.1%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
55.7%
(*.f64 x.re (*.f64 x.re x.re))
52.4%
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
52.4%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
Compiler

Compiled 201 to 122 computations (39.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im)))
cost-diff0
(*.f64 x.re x.re)
cost-diff0
(*.f64 x.re (*.f64 x.re x.re))
cost-diff128
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
cost-diff0
(*.f64 x.im x.im)
cost-diff0
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
cost-diff0
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
cost-diff0
(*.f64 x.im x.im)
cost-diff0
(*.f64 (*.f64 x.im x.im) x.re)
cost-diff0
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
cost-diff0
(*.f64 x.re x.re)
cost-diff0
(*.f64 x.re (*.f64 x.re x.re))
cost-diff0
(*.f64 x.re (*.f64 x.re x.re))
cost-diff0
(*.f64 x.im #s(literal -3 binary64))
cost-diff0
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
cost-diff6400
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
Rules
72×*-lowering-*.f32
72×*-lowering-*.f64
34×fma-lowering-fma.f32
34×fma-define
34×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01893
14791
27389
38189
08189
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))
(* x.re (* x.im -3))
x.re
(* x.im -3)
x.im
-3
(* x.re (* x.re x.re))
(* x.re x.re)
(* x.re (* x.re x.re))
x.re
(* x.re x.re)
(* -3 (* (* x.im x.im) x.re))
-3
(* (* x.im x.im) x.re)
(* x.im x.im)
x.im
x.re
(* x.re (* -3 (* x.im x.im)))
x.re
(* -3 (* x.im x.im))
-3
(* x.im x.im)
x.im
(+ (* x.re (* x.re x.re)) (* -3 (* x.im (* x.re x.im))))
(* x.re (* x.re x.re))
x.re
(* x.re x.re)
(* -3 (* x.im (* x.re x.im)))
-3
(* x.im (* x.re x.im))
x.im
(* x.re x.im)
Outputs
(+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(* x.re (* x.im -3))
(*.f64 x.im (*.f64 x.re #s(literal -3 binary64)))
x.re
(* x.im -3)
(*.f64 x.im #s(literal -3 binary64))
x.im
-3
#s(literal -3 binary64)
(* x.re (* x.re x.re))
(*.f64 x.re (*.f64 x.re x.re))
(* x.re x.re)
(*.f64 x.re x.re)
(* x.re (* x.re x.re))
(*.f64 x.re (*.f64 x.re x.re))
x.re
(* x.re x.re)
(*.f64 x.re x.re)
(* -3 (* (* x.im x.im) x.re))
(*.f64 x.im (*.f64 x.im (*.f64 x.re #s(literal -3 binary64))))
-3
#s(literal -3 binary64)
(* (* x.im x.im) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* x.im x.im)
(*.f64 x.im x.im)
x.im
x.re
(* x.re (* -3 (* x.im x.im)))
(*.f64 x.im (*.f64 x.im (*.f64 x.re #s(literal -3 binary64))))
x.re
(* -3 (* x.im x.im))
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
-3
#s(literal -3 binary64)
(* x.im x.im)
(*.f64 x.im x.im)
x.im
(+ (* x.re (* x.re x.re)) (* -3 (* x.im (* x.re x.im))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(* x.re (* x.re x.re))
(*.f64 x.re (*.f64 x.re x.re))
x.re
(* x.re x.re)
(*.f64 x.re x.re)
(* -3 (* x.im (* x.re x.im)))
(*.f64 x.im (*.f64 x.im (*.f64 x.re #s(literal -3 binary64))))
-3
#s(literal -3 binary64)
(* x.im (* x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
x.im
(* x.re x.im)
(*.f64 x.re x.im)

localize126.0ms (2.3%)

Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy99.9%
(*.f64 x.re (*.f64 x.re x.re))
accuracy99.8%
(*.f64 x.im (*.f64 x.re x.im))
accuracy99.7%
(*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im)))
accuracy87.0%
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
accuracy100.0%
(*.f64 x.im x.im)
accuracy99.8%
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
accuracy88.2%
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
accuracy100.0%
(*.f64 x.im x.im)
accuracy99.7%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
accuracy88.2%
(*.f64 (*.f64 x.im x.im) x.re)
accuracy100.0%
(*.f64 x.re x.re)
accuracy99.9%
(*.f64 x.re (*.f64 x.re x.re))
accuracy100.0%
(*.f64 x.im #s(literal -3 binary64))
accuracy99.9%
(*.f64 x.re (*.f64 x.re x.re))
accuracy99.7%
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
accuracy87.8%
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
Results
89.0ms256×0valid
Compiler

Compiled 118 to 18 computations (84.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 32.0ms
ival-mult: 26.0ms (80.1% of total)
compiled-spec: 4.0ms (12.3% of total)
ival-add: 2.0ms (6.2% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series7.0ms (0.1%)

Counts
13 → 252
Calls
Call 1
Inputs
#<alt (+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))>
#<alt (* x.re (* x.im -3))>
#<alt (* x.im -3)>
#<alt (* x.re (* x.re x.re))>
#<alt (* x.re x.re)>
#<alt (* -3 (* (* x.im x.im) x.re))>
#<alt (* (* x.im x.im) x.re)>
#<alt (* x.im x.im)>
#<alt (* x.re (* -3 (* x.im x.im)))>
#<alt (* -3 (* x.im x.im))>
#<alt (+ (* x.re (* x.re x.re)) (* -3 (* x.im (* x.re x.im))))>
#<alt (* -3 (* x.im (* x.re x.im)))>
#<alt (* x.im (* x.re x.im))>
Outputs
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (pow x.im 2))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
Calls

63 calls:

TimeVariablePointExpression
0.0ms
x.im
@0
(+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))
0.0ms
x.re
@-inf
(* x.re (* x.re x.re))
0.0ms
x.re
@0
(* x.re (* x.im -3))
0.0ms
x.re
@0
(+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))
0.0ms
x.im
@-inf
(* x.re (* x.im -3))

rewrite26.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
84×*-lowering-*.f32
84×*-lowering-*.f64
44×fma-define
42×fma-lowering-fma.f32
42×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01865
15063
28661
310661
412761
515761
618561
718761
018761
Stop Event
iter limit
saturated
Counts
13 → 97
Calls
Call 1
Inputs
(+ (* (* x.re (* x.im -3)) x.im) (* x.re (* x.re x.re)))
(* x.re (* x.im -3))
(* x.im -3)
(* x.re (* x.re x.re))
(* x.re x.re)
(* -3 (* (* x.im x.im) x.re))
(* (* x.im x.im) x.re)
(* x.im x.im)
(* x.re (* -3 (* x.im x.im)))
(* -3 (* x.im x.im))
(+ (* x.re (* x.re x.re)) (* -3 (* x.im (* x.re x.im))))
(* -3 (* x.im (* x.re x.im)))
(* x.im (* x.re x.im))
Outputs
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re)
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(*.f64 x.im (*.f64 x.re #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.im))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) x.re)
(*.f64 (*.f64 x.re x.im) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im)
(*.f64 x.im #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) x.im)
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 3 binary64))
(pow.f64 (exp.f64 #s(literal 3 binary64)) (log.f64 x.re))
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 (*.f64 x.re x.re) x.re)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.re))
(*.f64 x.re x.re)
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re)
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(exp.f64 (log.f64 (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 (*.f64 x.re x.im) x.im)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.im)))
(pow.f64 x.im #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.im))
(*.f64 x.im x.im)
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re)
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))) x.re)
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re)
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(exp.f64 (log.f64 (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 (*.f64 x.re x.im) x.im)

simplify286.0ms (5.3%)

Algorithm
egg-herbie
Rules
2334×*-lowering-*.f32
2334×*-lowering-*.f64
2236×fnmadd-define
1656×fma-lowering-fma.f32
1656×fma-lowering-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0311488
1851254
22411254
38471254
426181254
563121254
081311254
Stop Event
iter limit
node limit
Counts
252 → 252
Calls
Call 1
Inputs
(* -3 (* (pow x.im 2) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -3 (/ (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) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(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))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (pow x.im 2))
(* -3 (* (pow x.im 2) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -3 (/ (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) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(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))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
Outputs
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 (* x.im x.re))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(* -3 x.im)
(*.f64 #s(literal -3 binary64) x.im)
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (pow x.im 2))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* -3 (* (pow x.im 2) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)
(* (pow x.im 2) x.re)
(*.f64 (*.f64 x.im x.im) x.re)

eval44.0ms (0.8%)

Compiler

Compiled 4224 to 133 computations (96.9% saved)

prune79.0ms (1.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New4265431
Fresh112
Picked325
Done011
Total4309439
Accuracy
100.0%
Counts
439 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.7%
(pow.f64 x.re #s(literal 3 binary64))
72.1%
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
57.1%
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
57.1%
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
52.4%
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
88.1%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
55.7%
(*.f64 x.re (*.f64 x.re x.re))
52.4%
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
57.1%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
Compiler

Compiled 157 to 102 computations (35% saved)

simplify16.0ms (0.3%)

Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x.im #s(literal -3 binary64))
cost-diff0
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
cost-diff0
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
cost-diff0
(*.f64 x.im #s(literal -3 binary64))
cost-diff0
(*.f64 x.re x.im)
cost-diff0
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
cost-diff0
(*.f64 x.im x.im)
cost-diff0
(*.f64 x.re #s(literal -3 binary64))
cost-diff0
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
cost-diff0
(*.f64 x.re x.im)
cost-diff0
(*.f64 (*.f64 x.re x.im) x.im)
cost-diff0
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
cost-diff0
(*.f64 x.re x.re)
cost-diff0
(*.f64 x.re (*.f64 x.re x.re))
cost-diff128
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64)))
cost-diff512
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
Rules
292×fma-define
262×fma-lowering-fma.f32
262×fma-lowering-fma.f64
176×*-lowering-*.f32
176×*-lowering-*.f64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024126
166123
2120117
3243115
4363114
5389114
0389114
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
(+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5))
(* x.re (* x.re x.re))
x.re
(* x.re x.re)
(* (* x.im (* x.re x.im)) -5)
(* x.im (* x.re x.im))
x.im
(* x.re x.im)
-5
(* x.im (* x.re (* x.im 2)))
(* x.re (* x.im 2))
(* x.im 2)
2
(* -3 (* (* x.re x.im) x.im))
-3
(* (* x.re x.im) x.im)
(* x.re x.im)
x.re
x.im
(* (* x.re -3) (* x.im x.im))
(* x.re -3)
x.re
-3
(* x.im x.im)
x.im
(* (* x.re x.im) (* x.im -3))
(* x.re x.im)
x.re
x.im
(* x.im -3)
-3
(* (* x.re (* x.im -3)) x.im)
(* x.re (* x.im -3))
x.re
(* x.im -3)
x.im
-3
Outputs
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(* x.re (* x.re x.re))
(*.f64 x.re (*.f64 x.re x.re))
x.re
(* x.re x.re)
(*.f64 x.re x.re)
(* (* x.im (* x.re x.im)) -5)
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(* x.im (* x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
x.im
(* x.re x.im)
(*.f64 x.re x.im)
-5
#s(literal -5 binary64)
(* x.im (* x.re (* x.im 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(* x.re (* x.im 2))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* x.im 2)
(*.f64 x.im #s(literal 2 binary64))
2
#s(literal 2 binary64)
(* -3 (* (* x.re x.im) x.im))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
-3
#s(literal -3 binary64)
(* (* x.re x.im) x.im)
(*.f64 x.re (*.f64 x.im x.im))
(* x.re x.im)
(*.f64 x.re x.im)
x.re
x.im
(* (* x.re -3) (* x.im x.im))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(* x.re -3)
(*.f64 x.re #s(literal -3 binary64))
x.re
-3
#s(literal -3 binary64)
(* x.im x.im)
(*.f64 x.im x.im)
x.im
(* (* x.re x.im) (* x.im -3))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(* x.re x.im)
(*.f64 x.re x.im)
x.re
x.im
(* x.im -3)
(*.f64 x.im #s(literal -3 binary64))
-3
#s(literal -3 binary64)
(* (* x.re (* x.im -3)) x.im)
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))))
(* x.re (* x.im -3))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
x.re
(* x.im -3)
(*.f64 x.im #s(literal -3 binary64))
x.im
-3
#s(literal -3 binary64)

localize206.0ms (3.8%)

Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x.im #s(literal -3 binary64))
accuracy99.8%
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
accuracy99.7%
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
accuracy100.0%
(*.f64 x.re x.im)
accuracy100.0%
(*.f64 x.im #s(literal -3 binary64))
accuracy99.7%
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
accuracy100.0%
(*.f64 x.re #s(literal -3 binary64))
accuracy100.0%
(*.f64 x.im x.im)
accuracy88.1%
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
accuracy100.0%
(*.f64 x.re x.im)
accuracy99.8%
(*.f64 (*.f64 x.re x.im) x.im)
accuracy99.7%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
accuracy99.8%
(*.f64 x.im (*.f64 x.re x.im))
accuracy99.7%
(*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))
accuracy87.0%
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64)))
accuracy81.2%
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
Results
111.0ms256×0valid
Compiler

Compiled 147 to 25 computations (83% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-mult: 32.0ms (88.6% of total)
ival-add: 3.0ms (8.3% of total)
const: 1.0ms (2.8% of total)
backward-pass: 0.0ms (0% of total)

series8.0ms (0.2%)

Counts
16 → 324
Calls
Call 1
Inputs
#<alt (+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))>
#<alt (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5))>
#<alt (* x.re (* x.re x.re))>
#<alt (* x.re x.re)>
#<alt (* -3 (* (* x.re x.im) x.im))>
#<alt (* (* x.re x.im) x.im)>
#<alt (* x.re x.im)>
#<alt (* (* x.re -3) (* x.im x.im))>
#<alt (* x.re -3)>
#<alt (* x.im x.im)>
#<alt (* (* x.re x.im) (* x.im -3))>
#<alt (* x.im -3)>
#<alt (* (* x.re (* x.im -3)) x.im)>
#<alt (* x.re (* x.im -3))>
#<alt (* (* x.im (* x.re x.im)) -5)>
#<alt (* x.im (* x.re x.im))>
Outputs
#<alt (* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* x.im x.re)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (pow x.im 2)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 x.im)>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
#<alt (* (pow x.im 2) x.re)>
Calls

81 calls:

TimeVariablePointExpression
2.0ms
x.im
@0
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
0.0ms
x.re
@0
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
0.0ms
x.re
@inf
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
0.0ms
x.re
@-inf
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
0.0ms
x.im
@inf
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))

rewrite46.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
304×fma-define
270×fma-lowering-fma.f32
270×fma-lowering-fma.f64
188×*-lowering-*.f32
188×*-lowering-*.f64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02486
16884
213478
326676
440975
546575
649375
749575
049575
Stop Event
iter limit
saturated
Counts
16 → 260
Calls
Call 1
Inputs
(+ (+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5)) (* x.im (* x.re (* x.im 2))))
(+ (* x.re (* x.re x.re)) (* (* x.im (* x.re x.im)) -5))
(* x.re (* x.re x.re))
(* x.re x.re)
(* -3 (* (* x.re x.im) x.im))
(* (* x.re x.im) x.im)
(* x.re x.im)
(* (* x.re -3) (* x.im x.im))
(* x.re -3)
(* x.im x.im)
(* (* x.re x.im) (* x.im -3))
(* x.im -3)
(* (* x.re (* x.im -3)) x.im)
(* x.re (* x.im -3))
(* (* x.im (* x.re x.im)) -5)
(* x.im (* x.re x.im))
Outputs
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(+.f64 (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(fma.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))) x.re)
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re)
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 3 binary64))
(pow.f64 (exp.f64 #s(literal 3 binary64)) (log.f64 x.re))
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 (*.f64 x.re x.re) x.re)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.re))
(*.f64 x.re x.re)
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(exp.f64 (log.f64 (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.re x.im) x.im)
(*.f64 (*.f64 x.im x.im) x.re)
(exp.f64 (log.f64 (*.f64 x.re x.im)))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(+.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re #s(literal -5 binary64)))
(+.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 x.re #s(literal -5 binary64) (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 x.re #s(literal 2 binary64) (*.f64 x.re #s(literal -5 binary64)))
(fma.f64 #s(literal -5 binary64) x.re (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) x.re (*.f64 x.re #s(literal -5 binary64)))
(*.f64 x.re #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) x.re)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.im)))
(pow.f64 x.im #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.im))
(*.f64 x.im x.im)
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(+.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.im #s(literal -5 binary64)))
(+.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.im #s(literal 2 binary64)))
(fma.f64 x.im #s(literal -5 binary64) (*.f64 x.im #s(literal 2 binary64)))
(fma.f64 x.im #s(literal 2 binary64) (*.f64 x.im #s(literal -5 binary64)))
(fma.f64 #s(literal -5 binary64) x.im (*.f64 x.im #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) x.im (*.f64 x.im #s(literal -5 binary64)))
(*.f64 x.im #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) x.im)
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 (*.f64 x.re x.im) #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(+.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(+.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 x.re (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 x.re (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 x.im (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 x.im (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 (*.f64 x.re x.im) #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 (*.f64 x.re x.im) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) x.re (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) x.re (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(*.f64 x.im (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im)
(*.f64 (*.f64 x.im #s(literal -3 binary64)) x.re)
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)))
(*.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im)
(*.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re)
(exp.f64 (log.f64 (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.re x.im) x.im)
(*.f64 (*.f64 x.im x.im) x.re)

simplify219.0ms (4.1%)

Algorithm
egg-herbie
Rules
3684×*-lowering-*.f32
3684×*-lowering-*.f64
1610×fnmsub-define
1068×times-frac
950×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0581890
11811602
25791602
321211602
461051602
086351602
Stop Event
iter limit
node limit
Counts
324 → 324
Calls
Call 1
Inputs
(* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(pow x.re 3)
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* -5 (* (pow x.im 2) x.re))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(pow x.re 3)
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -5 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -5 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* x.im x.re)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(pow x.im 2)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 x.im)
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* -5 (* (pow x.im 2) x.re))
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
(* (pow x.im 2) x.re)
Outputs
(* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im))))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* x.im x.re)
(*.f64 x.re x.im)
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(* -3 x.re)
(*.f64 x.re #s(literal -3 binary64))
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(pow x.im 2)
(*.f64 x.im x.im)
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 x.im)
(*.f64 x.im #s(literal -3 binary64))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 x.im #s(literal -3 binary64)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.re (*.f64 #s(literal -5 binary64) (*.f64 x.im x.im)))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))
(* (pow x.im 2) x.re)
(*.f64 x.re (*.f64 x.im x.im))

eval83.0ms (1.5%)

Compiler

Compiled 8026 to 333 computations (95.9% saved)

prune37.0ms (0.7%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New6562658
Fresh011
Picked235
Done123
Total6598667
Accuracy
100.0%
Counts
667 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.7%
(pow.f64 x.re #s(literal 3 binary64))
72.0%
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
57.1%
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
57.1%
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
52.4%
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
88.1%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
55.7%
(*.f64 x.re (*.f64 x.re x.re))
57.1%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
Compiler

Compiled 82 to 53 computations (35.4% saved)

simplify26.0ms (0.5%)

Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff6208
(pow.f64 x.re #s(literal 3 binary64))
cost-diff0
(*.f64 x.re x.re)
cost-diff0
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
cost-diff0
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re)
cost-diff512
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
cost-diff0
(*.f64 x.re #s(literal -3 binary64))
cost-diff0
(*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im)
cost-diff0
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
Rules
286×fma-define
262×fma-lowering-fma.f32
262×fma-lowering-fma.f64
176×*-lowering-*.f32
176×*-lowering-*.f64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01987
14479
29276
316573
428672
536771
637471
037471
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (* (* x.re -3) x.im) x.im)
(* (* x.re -3) x.im)
(* x.re -3)
x.re
-3
x.im
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
(* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re)
(+ (* x.re x.re) (* x.im (* x.im -5)))
(* x.re x.re)
x.re
(* x.im (* x.im -5))
x.im
(* x.im -5)
-5
(* x.im (* x.re (* x.im 2)))
(* x.re (* x.im 2))
(* x.im 2)
2
(pow x.re 3)
x.re
3
Outputs
(* (* (* x.re -3) x.im) x.im)
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(* (* x.re -3) x.im)
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* x.re -3)
(*.f64 x.re #s(literal -3 binary64))
x.re
-3
#s(literal -3 binary64)
x.im
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re)
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(+ (* x.re x.re) (* x.im (* x.im -5)))
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
(* x.re x.re)
(*.f64 x.re x.re)
x.re
(* x.im (* x.im -5))
(*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))
x.im
(* x.im -5)
(*.f64 x.im #s(literal -5 binary64))
-5
#s(literal -5 binary64)
(* x.im (* x.re (* x.im 2)))
(*.f64 x.re (*.f64 #s(literal 2 binary64) (*.f64 x.im x.im)))
(* x.re (* x.im 2))
(*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))
(* x.im 2)
(*.f64 x.im #s(literal 2 binary64))
2
#s(literal 2 binary64)
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
x.re
3
#s(literal 3 binary64)

localize88.0ms (1.6%)

Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(pow.f64 x.re #s(literal 3 binary64))
accuracy99.8%
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
accuracy95.5%
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re)
accuracy93.9%
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
accuracy81.2%
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
accuracy100.0%
(*.f64 x.re #s(literal -3 binary64))
accuracy99.8%
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
accuracy99.7%
(*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im)
Results
65.0ms256×0valid
Compiler

Compiled 95 to 20 computations (78.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 17.0ms (68.9% of total)
ival-pow: 4.0ms (16.2% of total)
ival-add: 2.0ms (8.1% of total)
const: 1.0ms (4.1% of total)
backward-pass: 0.0ms (0% of total)

series8.0ms (0.2%)

Counts
9 → 180
Calls
Call 1
Inputs
#<alt (* (* (* x.re -3) x.im) x.im)>
#<alt (* (* x.re -3) x.im)>
#<alt (* x.re -3)>
#<alt (+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))>
#<alt (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re)>
#<alt (+ (* x.re x.re) (* x.im (* x.im -5)))>
#<alt (* x.re x.re)>
#<alt (pow x.re 3)>
#<alt (* x.im (* x.re (* x.im 2)))>
Outputs
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* (pow x.im 2) x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 (* x.im x.re))>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* -3 x.re)>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))>
#<alt (pow x.re 3)>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 3)>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))>
#<alt (pow x.re 3)>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -5 (* (pow x.im 2) x.re))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))>
#<alt (* -5 (pow x.im 2))>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))>
#<alt (pow x.re 2)>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (+ (* -5 (pow x.im 2)) (pow x.re 2))>
#<alt (* -5 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (* -5 (pow x.im 2))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 2)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (pow x.re 3)>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
#<alt (* 2 (* (pow x.im 2) x.re))>
Calls

45 calls:

TimeVariablePointExpression
3.0ms
x.im
@inf
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
1.0ms
x.re
@inf
(pow x.re 3)
0.0ms
x.re
@-inf
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
0.0ms
x.re
@0
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
0.0ms
x.im
@0
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))

rewrite41.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
294×fma-define
270×fma-lowering-fma.f32
270×fma-lowering-fma.f64
188×*-lowering-*.f32
188×*-lowering-*.f64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01962
14855
210552
319049
432648
543047
645747
746447
846647
046647
Stop Event
iter limit
saturated
Counts
9 → 146
Calls
Call 1
Inputs
(* (* (* x.re -3) x.im) x.im)
(* (* x.re -3) x.im)
(* x.re -3)
(+ (* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re) (* x.im (* x.re (* x.im 2))))
(* (+ (* x.re x.re) (* x.im (* x.im -5))) x.re)
(+ (* x.re x.re) (* x.im (* x.im -5)))
(* x.re x.re)
(pow x.re 3)
(* x.im (* x.re (* x.im 2)))
Outputs
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(+.f64 (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) x.re (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(*.f64 (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)) x.im)
(*.f64 (*.f64 x.re x.im) (*.f64 #s(literal -3 binary64) x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64))
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(+.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(+.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 x.re (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 x.re (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 x.im (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 x.im (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) x.re (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) x.re (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.re x.im) #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(fma.f64 (*.f64 x.re x.im) #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(*.f64 #s(literal -3 binary64) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im)
(*.f64 x.im (*.f64 x.re #s(literal -3 binary64)))
(*.f64 (*.f64 x.re x.im) #s(literal -3 binary64))
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re)
(+.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re #s(literal -5 binary64)))
(+.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 x.re #s(literal -5 binary64) (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 x.re #s(literal 2 binary64) (*.f64 x.re #s(literal -5 binary64)))
(fma.f64 #s(literal -5 binary64) x.re (*.f64 x.re #s(literal 2 binary64)))
(fma.f64 #s(literal 2 binary64) x.re (*.f64 x.re #s(literal -5 binary64)))
(*.f64 x.re #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) x.re)
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(+.f64 (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(+.f64 (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re (*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))))
(fma.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re x.im) (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) x.re (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -3 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))))
(fma.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))))
(fma.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))) x.re (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))) x.re)
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(+.f64 (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im)))
(fma.f64 #s(literal -5 binary64) (*.f64 x.re (*.f64 x.im x.im)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) x.re (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal -5 binary64) (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
(fma.f64 (*.f64 x.re #s(literal -5 binary64)) (*.f64 x.im x.im) (*.f64 x.re (*.f64 x.re x.re)))
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re)
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(fma.f64 x.re x.re (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))))
(fma.f64 x.im (*.f64 x.im #s(literal -5 binary64)) (*.f64 x.re x.re))
(fma.f64 #s(literal -5 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 (*.f64 x.im #s(literal -5 binary64)) x.im (*.f64 x.re x.re))
(fma.f64 (*.f64 x.im x.im) #s(literal -5 binary64) (*.f64 x.re x.re))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x.re))
(*.f64 x.re x.re)
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 x.re)))
(pow.f64 x.re #s(literal 3 binary64))
(pow.f64 (exp.f64 #s(literal 3 binary64)) (log.f64 x.re))
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 (*.f64 x.re x.re) x.re)
(*.f64 x.re (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) (*.f64 x.re (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im #s(literal 2 binary64)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal 2 binary64))) x.im)
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal 2 binary64)))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal 2 binary64)))
(*.f64 (*.f64 x.im (*.f64 x.im #s(literal 2 binary64))) x.re)
(*.f64 (*.f64 x.re (*.f64 x.im x.im)) #s(literal 2 binary64))
(*.f64 (*.f64 x.re #s(literal 2 binary64)) (*.f64 x.im x.im))

simplify229.0ms (4.2%)

Algorithm
egg-herbie
Rules
4032×*-lowering-*.f32
4032×*-lowering-*.f64
2040×sum3-define
1630×/-lowering-/.f32
1630×/-lowering-/.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0621170
1196972
2624972
32501972
47053972
08100972
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* (pow x.im 2) x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 (* x.im x.re))
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* -3 x.re)
(* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(pow x.re 3)
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(* -5 (* (pow x.im 2) x.re))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(pow x.re 3)
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 3)
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(pow x.re 3)
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(* -5 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -5 (* (pow x.im 2) x.re))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(* -5 (pow x.im 2))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(pow x.re 2)
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 2)
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(pow x.re 2)
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(* -5 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(* -5 (pow x.im 2))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 2)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(pow x.re 3)
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
(* 2 (* (pow x.im 2) x.re))
Outputs
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 (* x.im x.re))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* -3 x.re)
(*.f64 #s(literal -3 binary64) x.re)
(* x.re (+ (* -5 (pow x.im 2)) (* 2 (pow x.im 2))))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (+ (* 2 (pow x.im 2)) (pow x.re 2))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (+ (* -5 (/ (pow x.im 2) (pow x.re 2))) (* 2 (/ (pow x.im 2) (pow x.re 2))))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (+ (* -2 (/ (pow x.im 2) (pow x.re 2))) (* 5 (/ (pow x.im 2) (pow x.re 2)))) 1)))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(+ (* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re))) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (* 2 x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 #s(literal -3 binary64) x.im)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (+ (* 2 x.re) (/ (pow x.re 3) (pow x.im 2)))))
(*.f64 x.re (+.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* x.re (+ (* -5 (pow x.im 2)) (pow x.re 2)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.re 3) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* -1 (* (pow x.re 3) (- (* 5 (/ (pow x.im 2) (pow x.re 2))) 1)))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(+ (* -5 (* (pow x.im 2) x.re)) (pow x.re 3))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* -5 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal -5 binary64))))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* (pow x.im 2) (+ (* -5 x.re) (/ (pow x.re 3) (pow x.im 2))))
(*.f64 x.re (+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re)))
(* -5 (pow x.im 2))
(*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.re 2) (+ 1 (* -5 (/ (pow x.im 2) (pow x.re 2)))))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(+ (* -5 (pow x.im 2)) (pow x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* -5 (pow x.im 2))
(*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* -5 (pow x.im 2))
(*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 5))
(+.f64 (*.f64 x.im (*.f64 x.im #s(literal -5 binary64))) (*.f64 x.re x.re))
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 2)
(*.f64 x.re x.re)
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(pow x.re 3)
(*.f64 x.re (*.f64 x.re x.re))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(* 2 (* (pow x.im 2) x.re))
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))

eval60.0ms (1.1%)

Compiler

Compiled 4361 to 267 computations (93.9% saved)

prune25.0ms (0.5%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New3260326
Fresh000
Picked033
Done055
Total3268334
Accuracy
100.0%
Counts
334 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.7%
(pow.f64 x.re #s(literal 3 binary64))
72.0%
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
57.1%
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
57.1%
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
52.4%
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
88.1%
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
55.7%
(*.f64 x.re (*.f64 x.re x.re))
57.1%
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
Compiler

Compiled 251 to 106 computations (57.8% saved)

regimes17.0ms (0.3%)

Counts
16 → 2
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 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))
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
(pow.f64 x.re #s(literal 3 binary64))
(fma.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im (*.f64 x.re (*.f64 x.re x.re)))
Outputs
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(pow.f64 x.re #s(literal 3 binary64))
Calls

3 calls:

6.0ms
x.im
5.0ms
x.re
4.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))
Results
AccuracySegmentsBranch
97.5%3x.re
95.1%2x.im
96.9%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))
Compiler

Compiled 27 to 15 computations (44.4% saved)

regimes5.0ms (0.1%)

Counts
14 → 2
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 (*.f64 x.re (*.f64 x.im #s(literal -3 binary64))) x.im)
(*.f64 (*.f64 (*.f64 x.re #s(literal -3 binary64)) x.im) x.im)
(*.f64 x.re (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))))
(+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (+.f64 x.re (*.f64 x.re #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im (*.f64 x.im #s(literal -5 binary64)))) x.re) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 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))
(+.f64 (+.f64 (*.f64 x.re (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.im)) #s(literal -5 binary64))) (*.f64 x.im (*.f64 x.re (*.f64 x.im #s(literal 2 binary64)))))
Outputs
(*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64)))
(*.f64 x.re (*.f64 x.re x.re))
Calls

1 calls:

4.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))
Results
AccuracySegmentsBranch
96.8%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))
Compiler

Compiled 21 to 11 computations (47.6% saved)

regimes6.0ms (0.1%)

Counts
5 → 2
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
(*.f64 x.re (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
Outputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im))
Calls

2 calls:

3.0ms
x.re
2.0ms
x.im
Results
AccuracySegmentsBranch
84.0%2x.im
79.9%2x.re
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.1%)

Counts
2 → 2
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
Outputs
(*.f64 x.re (*.f64 x.re x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
Calls

2 calls:

2.0ms
x.im
2.0ms
x.re
Results
AccuracySegmentsBranch
75.3%2x.re
79.4%2x.im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.re x.re))
Outputs
(*.f64 x.re (*.f64 x.re x.re))
Calls

2 calls:

1.0ms
x.im
1.0ms
x.re
Results
AccuracySegmentsBranch
55.7%1x.re
55.7%1x.im
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.919152482845004e-284
0.0
Compiler

Compiled 26 to 15 computations (42.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.919152482845004e-284
0.0
Compiler

Compiled 26 to 15 computations (42.3% saved)

bsearch19.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
18.0ms
587110579921448.8
511244886760249540.0
Results
13.0ms128×0valid
Compiler

Compiled 170 to 111 computations (34.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 5.0ms (69.8% of total)
ival-sub: 1.0ms (14% of total)
ival-add: 1.0ms (14% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

bsearch18.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
17.0ms
587110579921448.8
511244886760249540.0
Results
12.0ms128×0valid
Compiler

Compiled 170 to 111 computations (34.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 6.0ms (74.4% of total)
ival-sub: 1.0ms (12.4% of total)
ival-add: 1.0ms (12.4% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
32×*-commutative_binary64
18×+-commutative_binary64
16×sub-neg_binary64
12×neg-sub0_binary64
12×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031103
152103
271103
387103
495103
598103
699103
Stop Event
saturated
Calls
Call 1
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 -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (pow.f64 x.re #s(literal 3 binary64)))
(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 -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(if (<=.f64 x.im #s(literal 4800000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im)))
(if (<=.f64 x.im #s(literal 31000000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re)))
(*.f64 x.re (*.f64 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 -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (pow.f64 x.re #s(literal 3 binary64)))
(if (<=.f64 (-.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im)))) #s(literal -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (pow.f64 x.re #s(literal 3 binary64)))
(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 -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(if (<=.f64 (-.f64 (*.f64 x.re (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im)))) #s(literal -6696928794914171/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168 binary64)) (*.f64 (*.f64 x.re x.im) (*.f64 x.im #s(literal -3 binary64))) (*.f64 x.re (*.f64 x.re x.re)))
(if (<=.f64 x.im #s(literal 4800000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.re x.im) x.im)))
(if (<=.f64 x.im #s(literal 4800000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.im (*.f64 x.re x.im))))
(if (<=.f64 x.im #s(literal 31000000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re)))
(if (<=.f64 x.im #s(literal 31000000000000000 binary64)) (*.f64 x.re (*.f64 x.re x.re)) (*.f64 #s(literal -3 binary64) (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 x.re (*.f64 x.re x.re))

soundness930.0ms (17.2%)

Rules
3976×*-lowering-*.f32
3976×*-lowering-*.f64
2420×fma-lowering-fma.f32
2420×fma-lowering-fma.f64
2216×sum5-define
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0761410
12431149
27601137
333161137
086491137
01865
15063
28661
310661
412761
515761
618561
718761
018761
01115
13214
27313
322110
46539
525318
649508
765478
867688
967828
1067828
082308
Stop Event
done
iter limit
node limit
iter limit
saturated
iter limit
node limit
Compiler

Compiled 226 to 114 computations (49.6% saved)

preprocess132.0ms (2.5%)

Remove

(abs x.im)

Compiler

Compiled 494 to 212 computations (57.1% saved)

end0.0ms (0%)

Profiling

Loading profile data...