math.abs on complex (squared)

Time bar (total: 2.6s)

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 10 to 6 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
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)

sample625.0ms (23.9%)

Results
435.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 185.0ms
ival-mult: 134.0ms (72.5% of total)
ival-add: 41.0ms (22.2% of total)
const: 7.0ms (3.8% of total)
backward-pass: 3.0ms (1.6% of total)
Bogosity

preprocess35.0ms (1.3%)

Algorithm
egg-herbie
Rules
172×fnmsub-define
172×fmsub-define
172×fnmadd-define
136×fmm-def
100×sum3-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01432
14432
210530
329430
458230
569930
672330
055
195
2105
0105
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(+ (* re re) (* im im))
Outputs
(+ (* re re) (* im im))
(+.f64 (*.f64 re re) (*.f64 im im))
Call 2
Inputs
(+ (* re re) (* im im))
(+ (* (neg re) (neg re)) (* im im))
(+ (* re re) (* (neg im) (neg im)))
(neg (+ (* (neg re) (neg re)) (* im im)))
(neg (+ (* re re) (* (neg im) (neg im))))
(+ (* im im) (* re re))
Outputs
(+ (* re re) (* im im))
(fma im im (square re))
(+ (* (neg re) (neg re)) (* im im))
(fma im im (square re))
(+ (* re re) (* (neg im) (neg im)))
(fma im im (square re))
(neg (+ (* (neg re) (neg re)) (* im im)))
(fnmsub re re (square im))
(neg (+ (* re re) (* (neg im) (neg im))))
(fnmsub re re (square im))
(+ (* im im) (* re re))
(fma im im (square re))
Symmetry

(abs re)

(abs im)

(sort re im)

explain58.0ms (2.2%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-im
00-0-(*.f64 im im)
00-0-(*.f64 re re)
00-0-re
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
Results
39.0ms512×0valid
Compiler

Compiled 45 to 17 computations (62.2% saved)

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

eval0.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
Compiler

Compiled 9 to 5 computations (44.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 im im)
cost-diff0
(*.f64 re re)
cost-diff0
(+.f64 (*.f64 re re) (*.f64 im im))
Rules
fma-lowering-fma.f32
fma-define
+-lowering-+.f64
*-lowering-*.f32
*-lowering-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
1911
21011
01011
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (* re re) (* im im))
(* re re)
re
(* im im)
im
Outputs
(+ (* re re) (* im im))
(+.f64 (*.f64 re re) (*.f64 im im))
(* re re)
(*.f64 re re)
re
(* im im)
(*.f64 im im)
im

localize32.0ms (1.2%)

Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy100.0%
(*.f64 re re)
accuracy100.0%
(*.f64 im im)
Results
25.0ms256×0valid
Compiler

Compiled 18 to 6 computations (66.7% saved)

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

series2.0ms (0.1%)

Counts
3 → 48
Calls
Call 1
Inputs
#<alt (+ (* re re) (* im im))>
#<alt (* re re)>
#<alt (* im im)>
Outputs
#<alt (pow im 2)>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (pow re 2)>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (pow re 2)>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (pow re 2)>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (pow im 2)>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (pow im 2)>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
Calls

12 calls:

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

rewrite290.0ms (11.1%)

Algorithm
batch-egg-rewrite
Rules
2178×fma-lowering-fma.f32
2178×fma-lowering-fma.f64
2146×*-lowering-*.f32
2146×*-lowering-*.f64
1760×fma-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
1259
22019
321259
083349
Stop Event
iter limit
node limit
Counts
3 → 131
Calls
Call 1
Inputs
(+ (* re re) (* im im))
(* re re)
(* im im)
Outputs
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 im im) (*.f64 re re))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 im im) (*.f64 re re))))
(fma.f64 re re (*.f64 im im))
(fma.f64 re (/.f64 (*.f64 re (*.f64 re re)) (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re (*.f64 re (*.f64 re re))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (*.f64 re (*.f64 re re)) (/.f64 re (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (*.f64 re (*.f64 re re)) (-.f64 re im)) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (/.f64 (*.f64 re (*.f64 re re)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(neg.f64 (/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))
(/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 (*.f64 im im) (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) (neg.f64 (-.f64 (*.f64 im im) (*.f64 re re))))
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))))) (neg.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) (neg.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) (neg.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))))) (neg.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))) (/.f64 (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im)))))) (+.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal 1 binary64)) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))
(/.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (+.f64 re im)) (-.f64 re im))
(/.f64 (-.f64 (neg.f64 (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 #s(literal 0 binary64) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (+.f64 re im)) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 re im))) (-.f64 re im))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 #s(literal 0 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 re im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 re im)))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 #s(literal 0 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) #s(literal 1 binary64))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 re im)) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 re im)))) (*.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 #s(literal 0 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1 binary64))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 re im)) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 re im)))) (*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (+.f64 re im)) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (-.f64 re im) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 re im) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (+.f64 re im)) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (-.f64 re im) (-.f64 #s(literal 0 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (-.f64 re im) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (+.f64 re im)) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 re im) #s(literal 1 binary64))) (*.f64 (-.f64 re im) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (+.f64 re im)) (-.f64 re im)) (*.f64 (-.f64 re im) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 re im)))) (*.f64 (-.f64 re im) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 im im) (*.f64 re re))) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im im) (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im)))))) (neg.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal 1 binary64))) (neg.f64 (*.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))) (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))) (neg.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))))) (neg.f64 (neg.f64 (-.f64 (*.f64 im im) (*.f64 re re)))))
(/.f64 (neg.f64 (-.f64 (/.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))) (/.f64 (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))))) (neg.f64 (+.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))) (neg.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal 1 binary64))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))) (neg.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))) (neg.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))) (neg.f64 (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))) (neg.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))
(/.f64 (neg.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (+.f64 re im))) (neg.f64 (-.f64 re im)))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(*.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal -1 binary64)))
(*.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 re im)) (+.f64 re im))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 re im)) (pow.f64 (/.f64 (-.f64 re im) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal -1 binary64)))
(*.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im im) (*.f64 re re))))))) (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))) (-.f64 (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))) (*.f64 re (*.f64 re (*.f64 re re)))))))
(*.f64 (/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im im) (*.f64 re re)))))) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))
(*.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (pow.f64 (/.f64 (+.f64 re im) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal -1 binary64)) (pow.f64 (/.f64 (-.f64 re im) (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 (*.f64 re re) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 im (*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im)))))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re)))))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 im im))))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re (*.f64 re (*.f64 re re))))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) #s(literal 1 binary64)))
(pow.f64 re #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 re))
(*.f64 re re)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 im)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 im)) #s(literal 1 binary64)))
(pow.f64 im #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 im))
(*.f64 im im)

simplify397.0ms (15.2%)

Algorithm
egg-herbie
Rules
6370×*-lowering-*.f32
6370×*-lowering-*.f64
2342×/-lowering-/.f32
2342×/-lowering-/.f64
1952×fma-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013216
134150
294150
3379150
41129150
52254150
62668150
73451150
85237150
96498150
107224150
117663150
127941150
08009150
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
(pow im 2)
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(pow re 2)
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(pow im 2)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(pow im 2)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
Outputs
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow re 2)
(*.f64 re re)
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow im 2)
(*.f64 im im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow im 2)
(*.f64 im im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 im im) (*.f64 re re))
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)

eval21.0ms (0.8%)

Compiler

Compiled 6949 to 417 computations (94% saved)

prune19.0ms (0.7%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1781179
Fresh000
Picked011
Done000
Total1782180
Accuracy
100.0%
Counts
180 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
99.5%
(*.f64 im im)
Compiler

Compiled 14 to 8 computations (42.9% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 im im)
Rules
*-lowering-*.f32
*-lowering-*.f64
square-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023
133
033
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* im im)
im
Outputs
(* im im)
(*.f64 im im)
im

localize16.0ms (0.6%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 im im)
Results
12.0ms256×0valid
Compiler

Compiled 7 to 4 computations (42.9% saved)

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

series0.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (* im im)>
Outputs
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@0
(* im im)
0.0ms
im
@inf
(* im im)
0.0ms
im
@-inf
(* im im)

rewrite197.0ms (7.5%)

Algorithm
batch-egg-rewrite
Rules
2200×pow-lowering-pow.f64
2200×pow-lowering-pow.f32
1438×prod-exp
1304×*-lowering-*.f32
1304×*-lowering-*.f64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
022
152
2122
3292
4792
52391
616901
717221
818561
931271
084631
Stop Event
iter limit
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(* im im)
Outputs
#s(literal 1 binary64)
im

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
pow-lowering-pow.f64
pow-lowering-pow.f32
*-lowering-*.f32
*-lowering-*.f64
unpow2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0336
1424
2524
0524
Stop Event
iter limit
saturated
Counts
12 → 12
Calls
Call 1
Inputs
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
Outputs
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)

eval1.0ms (0%)

Compiler

Compiled 40 to 4 computations (90% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New13114
Fresh000
Picked011
Done011
Total13316
Accuracy
100.0%
Counts
16 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
99.5%
(*.f64 im im)
7.1%
im
Compiler

Compiled 17 to 10 computations (41.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
im
Outputs
im

localize10.0ms (0.4%)

Results
7.0ms256×0valid
Compiler

Compiled 4 to 3 computations (25% saved)

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

series0.0ms (0%)

Counts
0 → 0
Calls
Call 1
Inputs
Outputs

rewrite9.0ms (0.3%)

Algorithm
batch-egg-rewrite
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
000
Stop Event
saturated
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
000
Stop Event
saturated
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Accuracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
99.5%
(*.f64 im im)
7.1%
im
Compiler

Compiled 30 to 15 computations (50% saved)

regimes9.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
im
(*.f64 im im)
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
(+.f64 (*.f64 re re) (*.f64 im im))
Calls

5 calls:

2.0ms
im
2.0ms
re
2.0ms
(*.f64 im im)
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
1.0ms
(*.f64 re re)
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(+.f64 (*.f64 re re) (*.f64 im im))
100.0%1(*.f64 re re)
100.0%1(*.f64 im im)
Compiler

Compiled 25 to 15 computations (40% saved)

regimes7.0ms (0.3%)

Counts
2 → 1
Calls
Call 1
Inputs
im
(*.f64 im im)
Outputs
(*.f64 im im)
Calls

3 calls:

3.0ms
(*.f64 im im)
2.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
99.5%1re
99.5%1im
99.5%1(*.f64 im im)
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes3.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
im
Outputs
im
Calls

2 calls:

1.0ms
im
1.0ms
re
Results
AccuracySegmentsBranch
7.1%1re
7.1%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
1611
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 im im)
im
Outputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 im im)
im

soundness811.0ms (31%)

Rules
6370×*-lowering-*.f32
6370×*-lowering-*.f64
2342×/-lowering-/.f32
2342×/-lowering-/.f64
2200×pow-lowering-pow.f64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
013216
134150
294150
3379150
41129150
52254150
62668150
73451150
85237150
96498150
107224150
117663150
127941150
08009150
022
152
2122
3292
4792
52391
616901
717221
818561
931271
084631
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 26 to 13 computations (50% saved)

preprocess44.0ms (1.7%)

Remove

(sort re im)

(abs im)

(abs re)

Compiler

Compiled 152 to 80 computations (47.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...