math.abs on complex

Time bar (total: 3.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
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 5 computations (50% saved)

sample746.0ms (19%)

Memory
4.5MiB live, 569.9MiB allocated
Samples
443.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 163.0ms
ival-hypot: 155.0ms (95% of total)
ival-true: 5.0ms (3.1% of total)
ival-assert: 3.0ms (1.8% of total)
Bogosity

explain85.0ms (2.2%)

Memory
1.4MiB live, 160.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1020-0-(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-(*.f64 re re)
00-0-re
00-0-(*.f64 im im)
00-0-im
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue910
(+.f64 (*.f64 re re) (*.f64 im im))overflow91
(*.f64 re re)overflow55
(*.f64 im im)overflow44
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue110
(+.f64 (*.f64 re re) (*.f64 im im))underflow11
(*.f64 re re)underflow57
(*.f64 im im)underflow64
Confusion
Predicted +Predicted -
+1020
-0154
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+10200
-00154
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0154
1102
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
41.0ms512×0valid
Compiler

Compiled 81 to 28 computations (65.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-hypot: 8.0ms (47.1% of total)
ival-mult: 6.0ms (35.4% of total)
ival-add: 2.0ms (11.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess275.0ms (7%)

Memory
-9.2MiB live, 151.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01642
15642
213542
336842
4109342
5147742
6187642
7397742
8459342
9506342
10558942
11597942
12643142
068
0108
1238
2718
32468
48748
513238
616948
736018
841878
946338
1051758
1167558
1278958
080033
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Outputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 im re)
Symmetry

(abs im)

(abs re)

(sort re im)

Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
62.9%
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 8 to 6 computations (25% saved)

simplify121.0ms (3.1%)

Memory
1.1MiB live, 76.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 im im)
cost-diff0
(*.f64 re re)
cost-diff1
(+.f64 (*.f64 re re) (*.f64 im im))
cost-diff4
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
12323
27123
324623
487423
5132323
6169423
7360123
8418723
9463323
10517523
11675523
12789523
0800317
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 im re)
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
re
(*.f64 im im)
im

localize21.0ms (0.5%)

Memory
-2.1MiB live, 36.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 re re)
accuracy0.0
(*.f64 im im)
accuracy0.01171875
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy23.761892105639962
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
16.0ms256×0valid
Compiler

Compiled 48 to 14 computations (70.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-hypot: 5.0ms (52.7% of total)
ival-mult: 3.0ms (31.6% of total)
ival-add: 1.0ms (10.5% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
9.9MiB live, 9.9MiB allocated
Counts
4 → 27
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
(*.f64 im im)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
Calls

6 calls:

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

simplify216.0ms (5.5%)

Memory
20.5MiB live, 219.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104441
1327441
21249437
36495435
08037400
Stop Event
iter limit
node limit
Counts
27 → 25
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) im) im) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(pow re 2)
(*.f64 re re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 (/.f64 im re) re) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 im re) re) im #s(literal 1 binary64)) (*.f64 re re))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))) im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64)) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))))

rewrite160.0ms (4.1%)

Memory
-9.0MiB live, 148.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
14121
237121
3612721
0806814
Stop Event
iter limit
node limit
iter limit
Counts
4 → 326
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
(*.f64 im im)
Outputs
(*.f64 (neg.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal -1 binary64)))
(pow.f64 (/.f64 (hypot.f64 im re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (neg.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 im re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal -1 binary64)))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (neg.f64 (hypot.f64 im re)))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (exp.f64 (log.f64 im)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (neg.f64 im))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) im)
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 re) re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (exp.f64 (log.f64 re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (neg.f64 re))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (sqrt.f64 (*.f64 (neg.f64 re) re)))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (sqrt.f64 (*.f64 (neg.f64 re) re)))
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (sqrt.f64 (*.f64 (neg.f64 re) re)))
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/4 binary64)))
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (neg.f64 (-.f64 re im)) (+.f64 im re))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (-.f64 re im) (-.f64 (neg.f64 im) re))
(*.f64 (-.f64 re im) (-.f64 im (neg.f64 re)))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (+.f64 im re) (neg.f64 (-.f64 re im)))
(*.f64 (+.f64 im re) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 #s(literal -1 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(*.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (hypot.f64 im re) (hypot.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64))))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(pow.f64 (*.f64 (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 1 binary64))
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 4 binary64))
(pow.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/2 binary64))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 re im)) (+.f64 im re))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 im re)) (-.f64 re im))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 3 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (hypot.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 3 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (*.f64 (neg.f64 im) #s(literal -1 binary64)) im (*.f64 (neg.f64 re) re))
(fma.f64 (*.f64 (neg.f64 im) #s(literal -1 binary64)) im (*.f64 re re))
(fma.f64 (*.f64 (neg.f64 re) #s(literal -1 binary64)) re (*.f64 (neg.f64 im) im))
(fma.f64 (*.f64 (neg.f64 re) #s(literal -1 binary64)) re (*.f64 im im))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (*.f64 re re) (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (neg.f64 re) (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 re (+.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (sqrt.f64 (*.f64 (neg.f64 re) re)) (*.f64 (neg.f64 im) im))
(fma.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (sqrt.f64 (*.f64 (neg.f64 re) re)) (*.f64 im im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (*.f64 (neg.f64 im) im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (*.f64 im im))
(fma.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re) (*.f64 im im))
(fma.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 im) im)) (*.f64 (neg.f64 re) re))
(fma.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 im) im)) (*.f64 re re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 (neg.f64 re) re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 re re))
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 im) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (neg.f64 re) re))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) im))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re) (*.f64 im im))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im) (*.f64 re re))
(fma.f64 #s(literal -1 binary64) (*.f64 im im) (*.f64 re re))
(fma.f64 #s(literal -1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 #s(literal 1 binary64) (*.f64 im im) (*.f64 (neg.f64 re) re))
(fma.f64 #s(literal 1 binary64) (*.f64 im im) (*.f64 re re))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 (neg.f64 im) im))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 im im) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 re re) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal -1 binary64)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 im) im (*.f64 re re))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 re) re (*.f64 im im))
(fma.f64 (*.f64 im im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 im (neg.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 (neg.f64 re) re))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(fma.f64 re (neg.f64 re) (*.f64 im im))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(-.f64 #s(literal 0 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re re))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(hypot.f64 (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) im))
(hypot.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(hypot.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re))
(hypot.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(hypot.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(hypot.f64 (*.f64 im im) (*.f64 re re))
(hypot.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(hypot.f64 (*.f64 re re) (*.f64 im im))
(exp.f64 (*.f64 (neg.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(+.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(+.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(+.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (neg.f64 re) #s(literal -1 binary64)) re)
(*.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) (sqrt.f64 (*.f64 (neg.f64 re) re)))
(*.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re))
(*.f64 #s(literal 1 binary64) (*.f64 re re))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (sqrt.f64 (*.f64 (neg.f64 re) re)) #s(literal 2 binary64))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 re) re) #s(literal 1 binary64))
(pow.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (/.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 re))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 4 binary64) (log.f64 re)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))
(*.f64 (*.f64 (neg.f64 im) #s(literal -1 binary64)) im)
(*.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(*.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))))
(*.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 im))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im))
(*.f64 #s(literal 1 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) #s(literal 2 binary64))
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 im) im) #s(literal 1 binary64))
(pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (pow.f64 im #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (/.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 im))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 4 binary64) (log.f64 im)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))

eval73.0ms (1.9%)

Memory
-14.9MiB live, 99.1MiB allocated
Compiler

Compiled 5 852 to 984 computations (83.2% saved)

prune7.0ms (0.2%)

Memory
22.6MiB live, 22.6MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3465351
Fresh000
Picked101
Done000
Total3475352
Accuracy
100.0%
Counts
352 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
62.9%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
62.3%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
97.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 100 to 70 computations (30% saved)

simplify167.0ms (4.3%)

Memory
-30.5MiB live, 120.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 re re)
cost-diff0
(/.f64 #s(literal 1/2 binary64) im)
cost-diff0
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
cost-diff0
(*.f64 re re)
cost-diff0
(fma.f64 im im (*.f64 re re))
cost-diff4
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
cost-diff0
(*.f64 im im)
cost-diff0
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
cost-diff0
(neg.f64 re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
cost-diff0
(hypot.f64 re im)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01988
02882
15282
213982
349082
4180682
5329282
6381882
7577682
8636882
9682682
10730682
0827182
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(hypot.f64 re im)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re
Outputs
(hypot.f64 re im)
(hypot.f64 im re)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re

localize67.0ms (1.7%)

Memory
-11.8MiB live, 71.0MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(*.f64 re re)
accuracy0.2327717279151235
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
accuracy1.875734065753605
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
accuracy0.0
(fma.f64 im im (*.f64 re re))
accuracy0.0
(*.f64 re re)
accuracy23.761892105639962
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
accuracy0.0
(*.f64 im im)
accuracy0.35937367852830066
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
accuracy23.761892105639962
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
accuracy0.0
(neg.f64 re)
accuracy62.75277734633491
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0.0
(hypot.f64 re im)
Samples
29.0ms256×0valid
Compiler

Compiled 186 to 34 computations (81.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-hypot: 8.0ms (43.5% of total)
ival-mult: 4.0ms (21.8% of total)
ival-add: 3.0ms (16.3% of total)
ival-div: 2.0ms (10.9% of total)
ival-neg: 1.0ms (5.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
11.1MiB live, 11.1MiB allocated
Counts
12 → 32
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im))
1.0ms
im
@-inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im))
1.0ms
im
@inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im))
1.0ms
im
@0
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im))
1.0ms
re
@-inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im))

simplify159.0ms (4.1%)

Memory
-16.8MiB live, 174.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0116478
1355478
21339461
37033461
08123422
Stop Event
iter limit
node limit
Counts
32 → 30
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) im) im) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* -1 re)
(neg.f64 re)
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(pow re 2)
(*.f64 re re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 im (*.f64 (/.f64 im (*.f64 re re)) re) re) re)
(* 1/2 (/ (pow re 2) im))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))) (neg.f64 re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))) (neg.f64 re))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (*.f64 re re) im) im (*.f64 im im))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)

rewrite146.0ms (3.7%)

Memory
12.0MiB live, 132.1MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01976
02870
19870
283268
0964768
Stop Event
iter limit
node limit
iter limit
Counts
12 → 489
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (fma.f64 #s(literal -1 binary64) im re)) (sqrt.f64 (fma.f64 #s(literal -1 binary64) im re)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (/.f64 #s(literal 1 binary64) (hypot.f64 im re)))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (pow.f64 (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 im im (*.f64 re re)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 im re) (*.f64 (hypot.f64 im re) (hypot.f64 im re))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)) (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (exp.f64 (log.f64 re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im re)
(hypot.f64 re (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (pow.f64 re #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) re)
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 re re #s(literal 0 binary64))))
(*.f64 #s(literal -1 binary64) re)
(*.f64 #s(literal 1 binary64) re)
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
(*.f64 re #s(literal -1 binary64))
(*.f64 re #s(literal 1 binary64))
(pow.f64 (*.f64 re re) #s(literal 1/2 binary64))
(pow.f64 re #s(literal 1 binary64))
(/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (fma.f64 re re #s(literal 0 binary64))))
(/.f64 (pow.f64 re #s(literal 3 binary64)) (fabs.f64 (fma.f64 re re #s(literal 0 binary64))))
(/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re re #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 re re)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re re #s(literal 0 binary64)) (pow.f64 re #s(literal 3 binary64))))
(/.f64 (*.f64 re re) re)
(neg.f64 re)
(sqrt.f64 (*.f64 re re))
(-.f64 (/.f64 #s(literal 0 binary64) re) re)
(-.f64 (/.f64 #s(literal 0 binary64) (fma.f64 re re #s(literal 0 binary64))) re)
(-.f64 #s(literal 0 binary64) re)
(fabs.f64 (-.f64 re #s(literal 0 binary64)))
(fabs.f64 re)
(exp.f64 (/.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 1 binary64)))
(+.f64 #s(literal 0 binary64) re)
re
(*.f64 (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(fabs.f64 (sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64))))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(*.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 im))
(*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))))
(*.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im))
(*.f64 #s(literal 1 binary64) (*.f64 im im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (pow.f64 im #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (fma.f64 #s(literal -1 binary64) im re)) (sqrt.f64 (fma.f64 #s(literal -1 binary64) im re)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (/.f64 #s(literal 1 binary64) (hypot.f64 im re)))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(*.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (pow.f64 (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 im im (*.f64 re re)))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 im re) (*.f64 (hypot.f64 im re) (hypot.f64 im re))))
(/.f64 #s(literal 1 binary64) (/.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)) (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)))
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (exp.f64 (log.f64 re)))
(hypot.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im re)
(hypot.f64 re (sqrt.f64 (*.f64 (neg.f64 im) im)))
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))))
(*.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (/.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (-.f64 re im) (+.f64 re im))
(*.f64 (+.f64 re im) (-.f64 re im))
(*.f64 (fma.f64 #s(literal -1 binary64) im re) (fma.f64 #s(literal -1 binary64) im re))
(*.f64 (-.f64 im re) (-.f64 im re))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) (/.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(*.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 im im (*.f64 re re)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 im im (*.f64 re re)))
(*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))))
(*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (neg.f64 (fma.f64 im im (*.f64 re re)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 im #s(literal 12 binary64)) (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 (*.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 18 binary64)) (pow.f64 im #s(literal 18 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (-.f64 (pow.f64 im #s(literal 12 binary64)) (pow.f64 (*.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (fma.f64 im im (*.f64 re re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im)))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (neg.f64 im) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (neg.f64 im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 im (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 im (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (neg.f64 im) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (neg.f64 im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 im (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 im (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (neg.f64 im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (neg.f64 im) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 im (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 im (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (*.f64 re re) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 re (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (neg.f64 im) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 re im)) (/.f64 (*.f64 (neg.f64 im) im) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (-.f64 re im)) (/.f64 (*.f64 (neg.f64 im) im) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 re im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 re im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 im (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (neg.f64 im) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (neg.f64 im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 im (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 im (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (-.f64 re im)) (/.f64 (*.f64 im im) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 im im) (-.f64 re im)) (/.f64 (*.f64 im im) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 re im)) (/.f64 (*.f64 im im) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 re im)) (/.f64 (*.f64 im im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (neg.f64 im) (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (neg.f64 im) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 im (+.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 im (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 im (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 re (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 re (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 re (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 re (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (*.f64 re re) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 re (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (/.f64 re (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (sqrt.f64 (*.f64 (neg.f64 im) im)) (sqrt.f64 (*.f64 (neg.f64 im) im)) (*.f64 re re))
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (neg.f64 im)) (*.f64 re re))
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 im) (*.f64 re re))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 re re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 re re))
(fma.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re) (*.f64 im im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (*.f64 (neg.f64 im) im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im) (*.f64 re re))
(fma.f64 #s(literal -1 binary64) (*.f64 re re) (*.f64 (neg.f64 im) im))
(fma.f64 #s(literal -1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 (neg.f64 im) im))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 #s(literal 1 binary64) (*.f64 im im) (*.f64 re re))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 (neg.f64 im) im))
(fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))))))
(-.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 re))
(*.f64 (sqrt.f64 re) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 re re))
(*.f64 #s(literal 1 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1 binary64))
(*.f64 re re)
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 re #s(literal 6 binary64))) (+.f64 #s(literal 0 binary64) (+.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 re re)))))
(/.f64 (*.f64 (*.f64 re re) (pow.f64 re #s(literal 3 binary64))) (*.f64 re (fma.f64 re re #s(literal 0 binary64))))
(/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 re re)) (*.f64 (fma.f64 re re #s(literal 0 binary64)) re))
(/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 re re))
(/.f64 (pow.f64 re #s(literal 6 binary64)) (*.f64 (fma.f64 re re #s(literal 0 binary64)) (fma.f64 re re #s(literal 0 binary64))))
(neg.f64 (*.f64 re re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 re re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))
(+.f64 #s(literal 0 binary64) (*.f64 re re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(*.f64 (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) (pow.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) #s(literal -1 binary64))))
(*.f64 (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)) (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(*.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im)) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))))
(*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) #s(literal -1 binary64)))
(pow.f64 (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) (*.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))) (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im)))) (neg.f64 (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im)) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) #s(literal 2 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 9 binary64)) (pow.f64 im #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 6 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (*.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) im) #s(literal 3 binary64))))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (*.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) (*.f64 im im))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) (*.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im))) (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im im)) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im)))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (-.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im) (neg.f64 im))
(fma.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 (/.f64 re im) (/.f64 re #s(literal 2 binary64)) (neg.f64 im))
(fma.f64 (/.f64 re im) (/.f64 re #s(literal 2 binary64)) im)
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) (neg.f64 im))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (/.f64 #s(literal -1 binary64) im) (neg.f64 im))
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (/.f64 #s(literal -1 binary64) im) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re) (neg.f64 im))
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 (*.f64 re re) #s(literal 2 binary64)) (neg.f64 im))
(fma.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 (*.f64 re re) #s(literal 2 binary64)) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (/.f64 #s(literal -1 binary64) im) (neg.f64 im))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (/.f64 #s(literal -1 binary64) im) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (pow.f64 im #s(literal -1 binary64)) (neg.f64 im))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (pow.f64 im #s(literal -1 binary64)) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 #s(literal -1 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im))
(fma.f64 #s(literal -1 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)
(fma.f64 #s(literal -1 binary64) (neg.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 (*.f64 re re) #s(literal 2 binary64)) (neg.f64 im))
(fma.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 (*.f64 re re) #s(literal 2 binary64)) im)
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)
(fma.f64 #s(literal 1 binary64) im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(fma.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im) #s(literal -1 binary64)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) #s(literal -1 binary64)) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))) #s(literal -1 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) (neg.f64 im))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) (neg.f64 im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) (neg.f64 im))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) (neg.f64 im))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 im #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (neg.f64 im))
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(-.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im))
(-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)
(-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (*.f64 re re) im))))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (neg.f64 (/.f64 (*.f64 im im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))))
(+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(+.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) (neg.f64 im))
(+.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)
(+.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) #s(literal 2 binary64))))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -1 binary64)))
(pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) #s(literal 2 binary64)))
(/.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (*.f64 im #s(literal 2 binary64)))
(/.f64 #s(literal -1/2 binary64) (neg.f64 im))
(/.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64))
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1/2 binary64) im))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal -1 binary64)))

eval79.0ms (2%)

Memory
-6.4MiB live, 67.9MiB allocated
Compiler

Compiled 11 257 to 1 345 computations (88.1% saved)

prune9.0ms (0.2%)

Memory
24.9MiB live, 24.9MiB allocated
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New4733476
Fresh000
Picked235
Done000
Total4756481
Accuracy
100.0%
Counts
481 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
62.9%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
62.3%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.6%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
4.6%
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
5.0%
#s(approx (sqrt (+ (* re re) (* im im))) re)
Compiler

Compiled 65 to 45 computations (30.8% saved)

simplify152.0ms (3.9%)

Memory
-10.0MiB live, 74.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1/2 binary64) im)
cost-diff0
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
cost-diff0
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
cost-diff0
(/.f64 #s(literal 1 binary64) re)
cost-diff0
(*.f64 re re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
cost-diff6
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) re)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01778
02466
15066
214166
348266
4268666
5766766
0801651
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
(*.f64 re re)
re
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
re
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
re
(*.f64 re re)
re
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
re

localize54.0ms (1.4%)

Memory
11.2MiB live, 49.5MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.2265625
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.2327717279151235
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
accuracy0.0
(/.f64 #s(literal 1 binary64) re)
accuracy0.0
(*.f64 re re)
accuracy28.083513104105112
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
accuracy60.78764964869207
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
accuracy60.78764964869207
#s(approx (sqrt (+ (* re re) (* im im))) re)
Samples
45.0ms256×0valid
Compiler

Compiled 140 to 31 computations (77.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 5.0ms (35.2% of total)
ival-hypot: 4.0ms (28.1% of total)
ival-div: 3.0ms (21.1% of total)
ival-add: 1.0ms (7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series23.0ms (0.6%)

Memory
-23.2MiB live, 13.2MiB allocated
Counts
9 → 30
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(*.f64 re re)
(/.f64 #s(literal 1 binary64) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
re
(pow re 2)
(/ 1 re)
(* 1/2 (/ re im))
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

TimeVariablePointExpression
16.0ms
re
@-inf
((sqrt (+ (* re re) (* im im))) (* (* re re) (/ 1 re)) (sqrt (+ (* re re) (* im im))) (* re re) (/ 1 re) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im))
2.0ms
im
@0
((sqrt (+ (* re re) (* im im))) (* (* re re) (/ 1 re)) (sqrt (+ (* re re) (* im im))) (* re re) (/ 1 re) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im))
1.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (* (* re re) (/ 1 re)) (sqrt (+ (* re re) (* im im))) (* re re) (/ 1 re) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im))
1.0ms
re
@0
((sqrt (+ (* re re) (* im im))) (* (* re re) (/ 1 re)) (sqrt (+ (* re re) (* im im))) (* re re) (/ 1 re) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im))
1.0ms
im
@inf
((sqrt (+ (* re re) (* im im))) (* (* re re) (/ 1 re)) (sqrt (+ (* re re) (* im im))) (* re re) (/ 1 re) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im))

simplify278.0ms (7.1%)

Memory
21.0MiB live, 177.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0113450
1338450
21285435
36380433
08133399
Stop Event
iter limit
node limit
Counts
30 → 28
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
re
(pow re 2)
(/ 1 re)
(* 1/2 (/ re im))
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal -1/8 binary64) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
re
(pow re 2)
(*.f64 re re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))) re)
(* 1/2 (/ (pow re 2) im))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)

rewrite61.0ms (1.6%)

Memory
-17.5MiB live, 21.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01772
02464
19460
068845
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
9 → 98
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(*.f64 re re)
(/.f64 #s(literal 1 binary64) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) (fabs.f64 re)) (fabs.f64 re))
(*.f64 (neg.f64 re) (/.f64 (neg.f64 re) re))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) (pow.f64 re #s(literal -1 binary64))))
(*.f64 (fabs.f64 re) (/.f64 (fabs.f64 re) re))
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) (pow.f64 re #s(literal -1 binary64))))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 re re))
(*.f64 #s(literal 1 binary64) re)
(*.f64 (*.f64 re re) (pow.f64 re #s(literal -1 binary64)))
(*.f64 re #s(literal 1 binary64))
(pow.f64 re #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 re re)) (neg.f64 re))
(/.f64 (*.f64 (*.f64 re re) #s(literal -1 binary64)) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 re re)) (neg.f64 re))
(/.f64 (neg.f64 re) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 re re)))
(/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1 binary64)))
(/.f64 (*.f64 re re) re)
(/.f64 re #s(literal 1 binary64))
re
#s(approx (sqrt (+ (* re re) (* im im))) re)
(*.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)))
(*.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) #s(literal 1 binary64)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 (fabs.f64 re) (*.f64 (fabs.f64 re) #s(literal 1 binary64)))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 #s(literal 1 binary64) (*.f64 re re))
(*.f64 (*.f64 re re) #s(literal 1 binary64))
(*.f64 re re)
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 (fabs.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(neg.f64 (*.f64 re (neg.f64 re)))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(fabs.f64 (neg.f64 (*.f64 re re)))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 re)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1 binary64)))
(pow.f64 re #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 re))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 re)))
(/.f64 #s(literal 1 binary64) re)
(neg.f64 (/.f64 #s(literal -1 binary64) re))
(exp.f64 (*.f64 (log.f64 re) #s(literal -1 binary64)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im))))
(*.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64))) (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (*.f64 im im)) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im)))
(/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))))
(/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (*.f64 im im))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) (neg.f64 re) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (fabs.f64 re)) (fabs.f64 re) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im))) (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im))))
(-.f64 im (*.f64 (neg.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)) re))
(-.f64 im (*.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re)))
(-.f64 im (*.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)
(+.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (pow.f64 im #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(*.f64 #s(literal 1/2 binary64) (/.f64 re im))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) re))
(*.f64 re (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(/.f64 #s(literal 1 binary64) (/.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 re (*.f64 im #s(literal 2 binary64)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 im)))
(*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) im))
(pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 #s(literal -1/2 binary64) (neg.f64 im))
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 im #s(literal 2 binary64))))
(/.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 im)))
(/.f64 #s(literal 1/2 binary64) im)
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 im #s(literal 2 binary64)))
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))

eval13.0ms (0.3%)

Memory
16.9MiB live, 16.9MiB allocated
Compiler

Compiled 2 641 to 444 computations (83.2% saved)

prune7.0ms (0.2%)

Memory
12.3MiB live, 12.3MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1230123
Fresh000
Picked033
Done033
Total1236129
Accuracy
100.0%
Counts
129 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
62.9%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
62.3%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.6%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
4.6%
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
5.0%
#s(approx (sqrt (+ (* re re) (* im im))) re)
Compiler

Compiled 166 to 74 computations (55.4% saved)

regimes87.0ms (2.2%)

Memory
-37.5MiB live, 47.9MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 re im)
Outputs
(hypot.f64 re im)
Calls

6 calls:

68.0ms
(*.f64 im im)
7.0ms
re
3.0ms
im
3.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
3.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
100.0%1(+.f64 (*.f64 re re) (*.f64 im im))
100.0%1(*.f64 re re)
100.0%1(*.f64 im im)
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes43.0ms (1.1%)

Memory
0.6MiB live, 37.0MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
Calls

6 calls:

3.0ms
im
3.0ms
re
3.0ms
(*.f64 im im)
3.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
AccuracySegmentsBranch
99.6%1re
99.6%1im
99.6%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
99.6%1(+.f64 (*.f64 re re) (*.f64 im im))
99.6%1(*.f64 re re)
99.6%1(*.f64 im im)
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes13.0ms (0.3%)

Memory
32.4MiB live, 32.4MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
Outputs
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
Calls

6 calls:

2.0ms
im
2.0ms
re
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
62.9%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
62.9%1(+.f64 (*.f64 re re) (*.f64 im im))
62.9%1(*.f64 re re)
62.9%1(*.f64 im im)
62.9%1re
62.9%1im
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes17.0ms (0.4%)

Memory
-7.3MiB live, 30.9MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (*.f64 re re) (/.f64 #s(literal 1 binary64) re)))
Outputs
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
Calls

6 calls:

8.0ms
re
2.0ms
im
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
62.3%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
62.3%1(+.f64 (*.f64 re re) (*.f64 im im))
62.3%1(*.f64 im im)
62.3%1im
62.3%1re
62.3%1(*.f64 re re)
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes38.0ms (1%)

Memory
-17.8MiB live, 28.5MiB allocated
Accuracy

Total -2.0b remaining (-3.2%)

Threshold costs -2b (-3.2%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) re)
Calls

6 calls:

1.0ms
(*.f64 im im)
1.0ms
im
1.0ms
re
1.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
1.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
AccuracySegmentsBranch
5.0%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
5.0%1(+.f64 (*.f64 re re) (*.f64 im im))
5.0%1(*.f64 im im)
5.0%1im
5.0%1re
5.0%1(*.f64 re re)
Compiler

Compiled 23 to 21 computations (8.7% saved)

simplify60.0ms (1.5%)

Memory
7.1MiB live, 45.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01949
13249
28049
325249
497649
5181449
6343949
Stop Event
node limit
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) re)
Outputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) re)

soundness673.0ms (17.2%)

Memory
-6.7MiB live, 468.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104441
1327441
21249437
36495435
08037400
0621
01021
14121
237121
3612721
0806814
01976
02870
19870
283268
0964768
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 117 to 66 computations (43.6% saved)

preprocess56.0ms (1.4%)

Memory
1.9MiB live, 77.5MiB allocated
Remove

(sort re im)

(abs re)

(abs im)

Compiler

Compiled 132 to 68 computations (48.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...