math.abs on complex

Time bar (total: 5.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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)

sample703.0ms (12.7%)

Memory
-13.7MiB live, 657.1MiB allocated
Samples
490.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 175.0ms
ival-hypot: 164.0ms (93.8% of total)
ival-true: 7.0ms (4% of total)
ival-assert: 4.0ms (2.3% of total)
Bogosity

explain181.0ms (3.3%)

Memory
-17.9MiB live, 128.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1330-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-rescue1170
(+.f64 (*.f64 re re) (*.f64 im im))overflow117
(*.f64 re re)overflow72
(*.f64 im im)overflow64
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue160
(+.f64 (*.f64 re re) (*.f64 im im))underflow16
(*.f64 re re)underflow64
(*.f64 im im)underflow60
Confusion
Predicted +Predicted -
+1330
-0123
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13300
-00123
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0123
1133
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
104.0ms512×0valid
Compiler

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 91.0ms
ival-hypot: 81.0ms (89.3% of total)
ival-mult: 7.0ms (7.7% of total)
ival-add: 2.0ms (2.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess35.0ms (0.6%)

Memory
0.2MiB live, 36.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01642
13542
27742
314542
420642
521942
622142
068
0108
1118
0113
Stop Event
iter limit
saturated
iter limit
saturated
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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

simplify3.0ms (0%)

Memory
3.6MiB live, 3.6MiB 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
11123
01117
Stop Event
iter limit
saturated
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

localize20.0ms (0.4%)

Memory
25.4MiB live, 25.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 re re)
accuracy0.0
(*.f64 im im)
accuracy0.00390625
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy30.978688180341347
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
15.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-hypot: 4.0ms (45.1% of total)
ival-mult: 3.0ms (33.8% of total)
ival-add: 1.0ms (11.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series110.0ms (2%)

Memory
-51.4MiB live, 2.6MiB 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
105.0ms
im
@0
((sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* re re) (* im im))
2.0ms
im
@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
re
@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))

simplify252.0ms (4.6%)

Memory
32.8MiB live, 187.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104429
1296429
2958427
33724393
46463391
08400354
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 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) re) re (/.f64 #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 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) 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)))))))
(fma.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))) #s(literal 1 binary64))) re (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(fma.f64 im im (*.f64 re re))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re) (neg.f64 re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64)) re (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) 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))))))))
(fma.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64))) re (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re)))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64))) im) im (/.f64 #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)
(* 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 im im (*.f64 re re))
(* -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)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64)) im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.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 #s(literal -1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64))) im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))

rewrite288.0ms (5.2%)

Memory
24.2MiB live, 288.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
12921
219621
3180021
0865115
Stop Event
iter limit
node limit
iter limit
Counts
4 → 245
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 (sqrt.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (sqrt.f64 (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (sqrt.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)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(*.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64))))) (sqrt.f64 (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (hypot.f64 im re))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re))) (sqrt.f64 (+.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (pow.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)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 im re))
(*.f64 (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re)) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 im re)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 im re))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (pow.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (pow.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (pow.f64 (pow.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (sqrt.f64 (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))
(*.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))
(*.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 #s(literal 1 binary64) (hypot.f64 im re))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))))
(*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(*.f64 (hypot.f64 im re) (sqrt.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(*.f64 (hypot.f64 im re) (sqrt.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))))
(*.f64 (hypot.f64 im re) (pow.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 im re) (pow.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (fma.f64 im im (*.f64 re re))))
(pow.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 im re)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal -1/2 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (neg.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (neg.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))) (neg.f64 (sqrt.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (neg.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) (neg.f64 (sqrt.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(/.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 im re))) (sqrt.f64 (-.f64 re im)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))) (hypot.f64 (*.f64 im im) (*.f64 re re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))) (sqrt.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))) (sqrt.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)))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)))) (sqrt.f64 (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)))) (sqrt.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.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 (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (sqrt.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))) (sqrt.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (sqrt.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) (sqrt.f64 (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64))) (sqrt.f64 (*.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))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64))))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)))))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64)))) (sqrt.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) (sqrt.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (sqrt.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 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 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im 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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 im re))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (hypot.f64 im re)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 im re)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
(hypot.f64 re im)
(exp.f64 (fma.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/4 binary64) (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(*.f64 (exp.f64 (log.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (exp.f64 (neg.f64 (log.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(*.f64 (exp.f64 (log.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (exp.f64 (neg.f64 (log.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) #s(literal -1 binary64)) (pow.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64)))) #s(literal -1 binary64)) (pow.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))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 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 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) #s(literal -1 binary64)) (pow.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 (+.f64 im re) (fma.f64 im im (*.f64 re re))) #s(literal -1 binary64)) (pow.f64 (pow.f64 (+.f64 im re) #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (+.f64 im re) #s(literal -1 binary64)) (pow.f64 (/.f64 (-.f64 re im) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 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)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.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))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re)) (+.f64 im re))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 #s(literal 1 binary64) (fma.f64 im im (*.f64 re re)))
(*.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (fma.f64 im im (*.f64 re re)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re))))
(*.f64 (fma.f64 im im (*.f64 re re)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #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 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (-.f64 (*.f64 (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))))
(/.f64 (neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 im re))) (neg.f64 (-.f64 re im)))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))) (neg.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))) (neg.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))) (neg.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))) (neg.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)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)))) (neg.f64 (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (neg.f64 (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))) (neg.f64 (neg.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) (neg.f64 (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64))) (neg.f64 (*.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))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 im re)) (-.f64 re im)) (*.f64 (-.f64 re im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 im re)))) (*.f64 (-.f64 re im) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 im re)) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))) (*.f64 (-.f64 re im) (neg.f64 (pow.f64 im #s(literal 4 binary64))))) (*.f64 (-.f64 re im) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 im re)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (-.f64 re im) #s(literal 1 binary64))) (*.f64 (-.f64 re im) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (-.f64 re im) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (-.f64 (*.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (-.f64 re im)) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 im re)))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (pow.f64 im #s(literal 4 binary64))))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 1 binary64))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 re im)) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 im re)))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 re im)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 im re)))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (-.f64 re im)))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (neg.f64 (pow.f64 im #s(literal 4 binary64))))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 1 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (neg.f64 (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (exp.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (exp.f64 (log.f64 (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (exp.f64 (log.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))))) (exp.f64 (log.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))))
(/.f64 (exp.f64 (log.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) (exp.f64 (log.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))))
(/.f64 (exp.f64 (log.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (exp.f64 (log.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (exp.f64 (log.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (exp.f64 (log.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #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 (*.f64 (-.f64 re im) (+.f64 im re)) #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 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64)))) (neg.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) (neg.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))) (neg.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64)))) (neg.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 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 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im 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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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)) (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im 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 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #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 (+.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 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (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 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 im re) (-.f64 im re)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 re im) (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 im re))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))))
(/.f64 #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))) (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))) (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))) (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.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))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))) (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 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 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64)))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)))))
(/.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 (log.f64 (fma.f64 im im (*.f64 re re))))))
(/.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 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 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 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(neg.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(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)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(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)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(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)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))) (/.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))
(-.f64 (/.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))) (/.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))))))
(-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64))) (/.f64 (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 re #s(literal 8 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (/.f64 (pow.f64 im #s(literal 8 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))))
(-.f64 (/.f64 (pow.f64 re #s(literal 12 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))) (/.f64 (pow.f64 im #s(literal 12 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))))
(-.f64 (/.f64 (pow.f64 re #s(literal 12 binary64)) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (/.f64 (pow.f64 im #s(literal 12 binary64)) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(-.f64 (/.f64 (/.f64 (pow.f64 re #s(literal 8 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (/.f64 (pow.f64 im #s(literal 8 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))))
(-.f64 (/.f64 (/.f64 (pow.f64 re #s(literal 12 binary64)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (/.f64 (pow.f64 im #s(literal 12 binary64)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))))
(-.f64 (/.f64 (/.f64 (pow.f64 re #s(literal 12 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (/.f64 (pow.f64 im #s(literal 12 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))) (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal -1 binary64)))
(exp.f64 (log.f64 (fma.f64 im im (*.f64 re re))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 re))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(*.f64 im im)
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 im))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))

eval55.0ms (1%)

Memory
-23.9MiB live, 33.4MiB allocated
Compiler

Compiled 7 430 to 981 computations (86.8% saved)

prune63.0ms (1.1%)

Memory
-25.1MiB live, 14.1MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2606266
Fresh000
Picked101
Done000
Total2616267
Accuracy
100.0%
Counts
267 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
51.6%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
51.1%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
92.6%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
6.5%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 134 to 92 computations (31.3% saved)

simplify55.0ms (1%)

Memory
29.3MiB live, 29.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 im re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) im)
cost-diff0
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
cost-diff0
(*.f64 im im)
cost-diff0
(fma.f64 re re (*.f64 im im))
cost-diff4
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
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
01982
02982
14182
25382
35982
46482
57182
68682
713582
820382
939182
1074382
11149382
12167982
13174282
14176682
15177882
16185082
17229582
0229582
Stop Event
iter limit
saturated
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 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
re
(*.f64 im im)
im
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(/.f64 im 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 re re (*.f64 im im)))
(hypot.f64 im re)
(fma.f64 re re (*.f64 im im))
(fma.f64 im im (*.f64 re re))
re
(*.f64 im im)
im
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 im re) (*.f64 im #s(literal 1/2 binary64)) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(fma.f64 (/.f64 im re) (*.f64 im #s(literal 1/2 binary64)) re)
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 im #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
im
(/.f64 im re)
re

localize59.0ms (1.1%)

Memory
-1.1MiB live, 37.1MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 im re)
accuracy0.0
(*.f64 #s(literal 1/2 binary64) im)
accuracy0.12890625
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
accuracy59.855412596087916
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
accuracy0.0
(*.f64 im im)
accuracy0.00390625
(fma.f64 re re (*.f64 im im))
accuracy30.978688180341347
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
accuracy0.0
(*.f64 im im)
accuracy0.2961446204916198
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
accuracy30.978688180341347
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
accuracy0.0
(neg.f64 re)
accuracy62.814339309551904
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0.0
(hypot.f64 re im)
Samples
46.0ms256×0valid
Compiler

Compiled 88 to 14 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 6.0ms (37.5% of total)
ival-hypot: 5.0ms (31.2% of total)
ival-div: 2.0ms (12.5% of total)
ival-add: 2.0ms (12.5% of total)
ival-neg: 1.0ms (6.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series31.0ms (0.6%)

Memory
-23.4MiB live, 15.3MiB allocated
Counts
12 → 33
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 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(*.f64 #s(literal 1/2 binary64) im)
(/.f64 im re)
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))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(/ im re)
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)
(* (pow re 2) (+ 1 (/ (pow im 2) (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))))))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(+ 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 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))))
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (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
24.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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (/ im re)) re) (* 1/2 im) (/ im re))
2.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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (/ im re)) re) (* 1/2 im) (/ im re))
1.0ms
re
@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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (/ im re)) re) (* 1/2 im) (/ im re))
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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (/ im re)) re) (* 1/2 im) (/ im re))
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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (/ im re)) re) (* 1/2 im) (/ im re))

simplify169.0ms (3.1%)

Memory
40.8MiB live, 191.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0117479
1326479
21027477
34007435
47560435
08304397
Stop Event
iter limit
node limit
Counts
33 → 31
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))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(/ im re)
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)
(* (pow re 2) (+ 1 (/ (pow im 2) (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))))))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(+ 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 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))))
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (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 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) re) re (/.f64 #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))
(* 1/2 (/ (pow im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (*.f64 re re)) re)
(/ im re)
(/.f64 im re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 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)))))))
(fma.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))) #s(literal 1 binary64))) re (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(fma.f64 im im (*.f64 re re))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(neg.f64 (fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) 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))))))))
(neg.f64 (fma.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))) #s(literal 1 binary64))) re (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re)
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64))) im) im (/.f64 #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 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 im im (*.f64 re re))
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (pow im 2))))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re)
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(neg.f64 (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/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))))))))
(neg.f64 (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))))

rewrite220.0ms (4%)

Memory
-5.6MiB live, 196.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01970
02970
17770
246270
3561370
0819770
Stop Event
iter limit
node limit
iter limit
Counts
12 → 327
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 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(*.f64 #s(literal 1/2 binary64) im)
(/.f64 im re)
Outputs
(*.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 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal -1 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))) #s(literal -1 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 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal -1/2 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (neg.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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #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)))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re im)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(*.f64 (*.f64 (neg.f64 re) re) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (neg.f64 (pow.f64 re #s(literal 3 binary64))) (pow.f64 re #s(literal -2 binary64)))
(*.f64 #s(literal -1 binary64) re)
(*.f64 re #s(literal -1 binary64))
(pow.f64 (/.f64 re (*.f64 (neg.f64 re) re)) #s(literal -1 binary64))
(pow.f64 (/.f64 (*.f64 re re) (neg.f64 (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 re) re)) (neg.f64 re))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (neg.f64 re) #s(literal 2 binary64))) re)
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (neg.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (neg.f64 re)))))
(/.f64 (neg.f64 (neg.f64 (pow.f64 re #s(literal 3 binary64)))) (*.f64 (neg.f64 re) re))
(/.f64 (*.f64 (neg.f64 re) re) re)
(/.f64 (neg.f64 (pow.f64 re #s(literal 3 binary64))) (*.f64 re re))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 (neg.f64 re) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(neg.f64 re)
(fma.f64 (*.f64 (neg.f64 re) re) (pow.f64 re #s(literal -1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 (pow.f64 re #s(literal 3 binary64))) (pow.f64 re #s(literal -2 binary64)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) re #s(literal 0 binary64))
(fma.f64 re #s(literal -1 binary64) #s(literal 0 binary64))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 re re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 re re)))
(-.f64 (/.f64 #s(literal 0 binary64) re) (/.f64 (*.f64 re re) re))
(-.f64 #s(literal 0 binary64) re)
(+.f64 #s(literal 0 binary64) (neg.f64 re))
(+.f64 (neg.f64 re) #s(literal 0 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 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 2 binary64)) #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)))
(exp.f64 (*.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.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 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #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 (log.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(*.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 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal -1 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64))) #s(literal -1 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 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal -1/2 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (fma.f64 (neg.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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #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)))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re im)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 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)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.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))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re)) (+.f64 im re))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (neg.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 im im (*.f64 re re)))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (fma.f64 im im (*.f64 re re)) (/.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(*.f64 (fma.f64 im im (*.f64 re re)) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal -1 binary64)) #s(literal 1 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 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #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 (fma.f64 (neg.f64 im) im (*.f64 re re)) #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 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (neg.f64 (fma.f64 (neg.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 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (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)) (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (neg.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 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (fma.f64 (neg.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 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #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 (+.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 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 im re) (-.f64 im re)))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 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 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (fma.f64 (neg.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 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (neg.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 (+.f64 im re) (-.f64 im re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 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 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(neg.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(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)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(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)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(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)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (fma.f64 (neg.f64 im) im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 re re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (fma.f64 (neg.f64 im) im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal -1 binary64)))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re))
(*.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (neg.f64 (pow.f64 re #s(literal 3 binary64))))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 re (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) (-.f64 (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64)) (pow.f64 (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re) #s(literal 2 binary64)))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (pow.f64 (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re) #s(literal 3 binary64)))) (fma.f64 (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re) (-.f64 (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re) (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re))) (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re))
(*.f64 (fma.f64 re re (*.f64 #s(literal -1/4 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))) (pow.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)))
(*.f64 (pow.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) #s(literal -1 binary64)) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re))) (pow.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re) #s(literal -1 binary64)))
(*.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re))
(*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) (/.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))))
(*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (pow.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) #s(literal -1 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) #s(literal -1 binary64)))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(pow.f64 (/.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) (fma.f64 re re (*.f64 #s(literal -1/4 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64)) (pow.f64 re #s(literal 4 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 re re)))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))) (+.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) #s(literal -1 binary64))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/512 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (pow.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) #s(literal -1 binary64))) (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 3 binary64))))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) #s(literal 1 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)) #s(literal 2 binary64))) (fma.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))))
(/.f64 (neg.f64 (fma.f64 re re (*.f64 #s(literal -1/4 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))) (neg.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 re re)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64))) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (neg.f64 (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/512 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 3 binary64))))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (*.f64 re re))) (pow.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 re re))))
(/.f64 (fma.f64 re re (*.f64 #s(literal -1/4 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))) (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))))
(/.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (+.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (/.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) im) im)) #s(literal -4 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(/.f64 (fma.f64 #s(literal 1/512 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)) (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 3 binary64)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) (fma.f64 re re (*.f64 #s(literal -1/4 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re))) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re))))
(neg.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (pow.f64 re #s(literal 3 binary64))) (neg.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im))) re)))))
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (*.f64 (neg.f64 re) re)) re re)
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (neg.f64 (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re) re)
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (/.f64 im re) re)
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) (neg.f64 im) re)
(fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal -3 binary64)) (neg.f64 (pow.f64 re #s(literal 3 binary64))))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 re (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 re) re))) (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (pow.f64 re #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/2 binary64)) (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal -1 binary64)) (/.f64 (neg.f64 im) re) re)
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 im (pow.f64 im #s(literal -1 binary64))) re)
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) #s(literal 1 binary64)) (pow.f64 re #s(literal -1 binary64)) re)
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im re)
(fma.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (/.f64 (*.f64 #s(literal 1/2 binary64) im) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/4 binary64)) im) (/.f64 (/.f64 im re) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/4 binary64)) (/.f64 (*.f64 (/.f64 im re) im) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (/.f64 (neg.f64 im) re) (/.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal -1 binary64)) re)
(fma.f64 (pow.f64 (/.f64 re im) #s(literal -2 binary64)) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (/.f64 (pow.f64 (/.f64 re im) #s(literal -2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (/.f64 #s(literal -1 binary64) re) re)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) (pow.f64 re #s(literal -1 binary64)) re)
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) re)
(fma.f64 #s(literal -1 binary64) (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(fma.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) im) (pow.f64 im #s(literal -1 binary64))) re)
(fma.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) im) im) re)
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im) re)
(fma.f64 #s(literal 1 binary64) re (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(fma.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (neg.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) re)
(fma.f64 (neg.f64 im) (*.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im) (/.f64 (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (/.f64 im re) (/.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/4 binary64)) im) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (/.f64 im re) (/.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal -1 binary64))) re)
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) re)
(fma.f64 (*.f64 im im) (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64)) re)
(fma.f64 (neg.f64 re) #s(literal -1 binary64) (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(fma.f64 im (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re)
(fma.f64 re #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(-.f64 (/.f64 (*.f64 re re) (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (+.f64 re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im)))))
(-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) #s(literal -1 binary64))) #s(literal -1 binary64)))
(+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)))) (neg.f64 (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(+.f64 (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im) re)
(+.f64 re (*.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 im #s(literal 1/2 binary64))
(*.f64 (/.f64 (neg.f64 im) (*.f64 (neg.f64 re) re)) re)
(*.f64 (/.f64 (neg.f64 im) (neg.f64 (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re))
(*.f64 (pow.f64 (/.f64 re im) #s(literal -1/2 binary64)) (pow.f64 (/.f64 re im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 im #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 im) re))
(*.f64 (pow.f64 re #s(literal -1 binary64)) im)
(*.f64 #s(literal 1 binary64) (/.f64 im re))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 im re) #s(literal 1 binary64))
(*.f64 im (pow.f64 re #s(literal -1 binary64)))
(pow.f64 (pow.f64 (/.f64 re im) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (/.f64 re im) #s(literal -1 binary64))
(pow.f64 (/.f64 im re) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im)) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 im) re) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (/.f64 (neg.f64 re) im))
(/.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 re im))
(/.f64 (neg.f64 im) (neg.f64 re))
(/.f64 im re)
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 re im)))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) re)))
(neg.f64 (/.f64 (neg.f64 im) re))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 (neg.f64 im) re))
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 im) re))
(exp.f64 (*.f64 (log.f64 (/.f64 re im)) #s(literal -1 binary64)))

eval59.0ms (1.1%)

Memory
-1.6MiB live, 108.7MiB allocated
Compiler

Compiled 8 141 to 1 067 computations (86.9% saved)

prune39.0ms (0.7%)

Memory
-36.5MiB live, 20.9MiB allocated
Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New3213324
Fresh011
Picked055
Done000
Total3219330
Accuracy
100.0%
Counts
330 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
51.6%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
4.6%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
51.1%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
92.6%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
6.5%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
6.5%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
3.3%
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 137 to 89 computations (35% saved)

simplify93.0ms (1.7%)

Memory
28.1MiB live, 101.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 re re)
cost-diff0
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
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 #s(literal 1/2 binary64) im)
cost-diff0
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
cost-diff3
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
cost-diff0
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
cost-diff2
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
cost-diff19
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032255
056246
1103246
2234243
3735237
42364185
57365185
08387168
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(/.f64 im re)
im
re
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))
(*.f64 (/.f64 im re) #s(literal 1/2 binary64))
(neg.f64 re)
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
#s(literal -1 binary64)
(fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)
#s(literal -1/2 binary64)
(*.f64 (/.f64 im re) im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
(/.f64 #s(literal -1 binary64) re)
#s(literal -1 binary64)
re
(neg.f64 im)
#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
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(*.f64 re re)
re
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(/.f64 im re)
im
re
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
#s(literal 1 binary64)
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))
(*.f64 (/.f64 im re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 im re))
(neg.f64 re)
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
(/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
#s(literal -1 binary64)
(fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)
#s(literal -1/2 binary64)
(*.f64 (/.f64 im re) im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(*.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
(/.f64 im re)
(/.f64 #s(literal -1 binary64) re)
#s(literal -1 binary64)
re
(neg.f64 im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(*.f64 re re)
re

localize92.0ms (1.7%)

Memory
-10.1MiB live, 148.7MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 re re)
accuracy30.978688180341347
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
accuracy53.06264762368311
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(*.f64 re re)
accuracy0.21466786629304085
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
accuracy4.622495535351878
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
accuracy0.0
(neg.f64 im)
accuracy0.12890625
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
accuracy0.2265625
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
accuracy59.855412596087916
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
accuracy0.1328125
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))
accuracy0.8786654530644729
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
accuracy30.445634372946564
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
accuracy59.855412596087916
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
Samples
71.0ms256×0valid
Compiler

Compiled 209 to 33 computations (84.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 53.0ms
ival-mult: 19.0ms (35.9% of total)
ival-div: 17.0ms (32.1% of total)
ival-add: 7.0ms (13.2% of total)
ival-hypot: 5.0ms (9.4% of total)
ival-neg: 5.0ms (9.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series44.0ms (0.8%)

Memory
21.6MiB live, 58.1MiB allocated
Counts
17 → 67
Calls
Call 1
Inputs
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
(*.f64 #s(literal 1/2 binary64) im)
#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)
(*.f64 re re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))
(neg.f64 im)
Outputs
1
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1 (* (pow re 2) (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))) (* 1/2 (pow im 2))) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))) (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))))) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1)) (* (pow re 2) (+ (* -2 (/ (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2))))) (pow im 2))) (* -1 (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))))))) re)
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/2 (pow im 2)) (pow re 2)) re)
(/ im re)
(pow re 2)
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 2 (/ re (pow im 2)))
(* re (+ (* 4 (/ (pow re 2) (pow im 4))) (* 2 (/ 1 (pow im 2)))))
(* re (+ (* (pow re 2) (+ (* 8 (/ (pow re 2) (pow im 6))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(* re (+ (* (pow re 2) (+ (* (pow re 2) (+ (* 16 (/ (pow re 2) (pow im 8))) (* 8 (/ 1 (pow im 6))))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(/ (+ (* -1 (pow re 2)) (* 1/2 (pow im 2))) re)
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)))))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(/ -1 re)
(/ (- (* -1/2 (/ (pow im 2) (pow re 2))) 1) re)
(/ (- (* -1/4 (/ (pow im 4) (pow re 4))) (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))) re)
(/ (- (* -1/8 (/ (pow im 6) (pow re 6))) (+ 1 (+ (* 1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))) re)
(* -1 re)
(* re (- (* 1/2 (/ (pow im 2) (pow re 2))) 1))
(* -1 (* re (- (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) 1)))
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4)))) 1)))
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (+ (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4))) (* -1/2 (/ (* (pow im 2) (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))))))) (pow re 6))))) 1)))
(* -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))))))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(* -1 (/ (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))) re))
(* -1 (/ (- (+ 1 (* 1/4 (/ (pow im 4) (pow re 4)))) (* -1/2 (/ (pow im 2) (pow re 2)))) re))
(* -1 (/ (- (+ 1 (* 1/8 (/ (pow im 6) (pow re 6)))) (+ (* -1/2 (/ (pow im 2) (pow re 2))) (* -1/4 (/ (pow im 4) (pow re 4))))) re))
(* -1 (* re (+ 1 (* -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 im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(- (* -1/2 (/ (pow im 2) (pow re 3))) (/ 1 re))
(- (* (pow im 2) (- (* -1/4 (/ (pow im 2) (pow re 5))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/8 (/ (pow im 2) (pow re 7))) (* 1/4 (/ 1 (pow re 5))))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(- (* 1/2 (/ (pow im 2) re)) re)
(* -1 im)
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (pow im 2))))
(* 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))))
(/ (+ (* 2 re) (* 4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/ (- (+ (* 2 re) (* 8 (/ (pow re 5) (pow im 4)))) (* -4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/ (- (+ (* 2 re) (* 16 (/ (pow re 7) (pow im 6)))) (+ (* -8 (/ (pow re 5) (pow im 4))) (* -4 (/ (pow re 3) (pow im 2))))) (pow im 2))
(* (pow im 2) (+ (* -1 (/ re (pow im 2))) (* 1/2 (/ 1 re))))
(* -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
23.0ms
im
@0
((* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re))) (* (+ (* (/ im re) (* 1/2 im)) re) (* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)))) (sqrt (+ (* re re) (* im im))) (+ (* (/ im re) (* 1/2 im)) re) (* (/ -1 re) (neg im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (* (/ -1 re) (neg im))) re) (* 1/2 im) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)) (+ (* (* (/ im re) 1/2) im) (neg re)) (neg im))
5.0ms
re
@0
((* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re))) (* (+ (* (/ im re) (* 1/2 im)) re) (* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)))) (sqrt (+ (* re re) (* im im))) (+ (* (/ im re) (* 1/2 im)) re) (* (/ -1 re) (neg im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (* (/ -1 re) (neg im))) re) (* 1/2 im) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)) (+ (* (* (/ im re) 1/2) im) (neg re)) (neg im))
4.0ms
im
@inf
((* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re))) (* (+ (* (/ im re) (* 1/2 im)) re) (* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)))) (sqrt (+ (* re re) (* im im))) (+ (* (/ im re) (* 1/2 im)) re) (* (/ -1 re) (neg im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (* (/ -1 re) (neg im))) re) (* 1/2 im) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)) (+ (* (* (/ im re) 1/2) im) (neg re)) (neg im))
4.0ms
re
@-inf
((* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re))) (* (+ (* (/ im re) (* 1/2 im)) re) (* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)))) (sqrt (+ (* re re) (* im im))) (+ (* (/ im re) (* 1/2 im)) re) (* (/ -1 re) (neg im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (* (/ -1 re) (neg im))) re) (* 1/2 im) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)) (+ (* (* (/ im re) 1/2) im) (neg re)) (neg im))
3.0ms
re
@inf
((* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re))) (* (+ (* (/ im re) (* 1/2 im)) re) (* (+ (* (* (/ im re) 1/2) im) (neg re)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)))) (sqrt (+ (* re re) (* im im))) (+ (* (/ im re) (* 1/2 im)) re) (* (/ -1 re) (neg im)) (sqrt (+ (* re re) (* im im))) (+ (* (* 1/2 im) (* (/ -1 re) (neg im))) re) (* 1/2 im) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ -1 (+ (* -1/2 (* (/ im re) im)) re)) (+ (* (* (/ im re) 1/2) im) (neg re)) (neg im))

simplify289.0ms (5.2%)

Memory
-6.2MiB live, 194.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02851324
18501229
228801155
087681068
Stop Event
iter limit
node limit
Counts
67 → 65
Calls
Call 1
Inputs
1
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1 (* (pow re 2) (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))) (* 1/2 (pow im 2))) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))) (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))))) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1)) (* (pow re 2) (+ (* -2 (/ (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2))))) (pow im 2))) (* -1 (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))))))) re)
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/2 (pow im 2)) (pow re 2)) re)
(/ im re)
(pow re 2)
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 2 (/ re (pow im 2)))
(* re (+ (* 4 (/ (pow re 2) (pow im 4))) (* 2 (/ 1 (pow im 2)))))
(* re (+ (* (pow re 2) (+ (* 8 (/ (pow re 2) (pow im 6))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(* re (+ (* (pow re 2) (+ (* (pow re 2) (+ (* 16 (/ (pow re 2) (pow im 8))) (* 8 (/ 1 (pow im 6))))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(/ (+ (* -1 (pow re 2)) (* 1/2 (pow im 2))) re)
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)))))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(/ -1 re)
(/ (- (* -1/2 (/ (pow im 2) (pow re 2))) 1) re)
(/ (- (* -1/4 (/ (pow im 4) (pow re 4))) (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))) re)
(/ (- (* -1/8 (/ (pow im 6) (pow re 6))) (+ 1 (+ (* 1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))) re)
(* -1 re)
(* re (- (* 1/2 (/ (pow im 2) (pow re 2))) 1))
(* -1 (* re (- (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) 1)))
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4)))) 1)))
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (+ (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4))) (* -1/2 (/ (* (pow im 2) (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))))))) (pow re 6))))) 1)))
(* -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))))))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(* -1 (/ (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))) re))
(* -1 (/ (- (+ 1 (* 1/4 (/ (pow im 4) (pow re 4)))) (* -1/2 (/ (pow im 2) (pow re 2)))) re))
(* -1 (/ (- (+ 1 (* 1/8 (/ (pow im 6) (pow re 6)))) (+ (* -1/2 (/ (pow im 2) (pow re 2))) (* -1/4 (/ (pow im 4) (pow re 4))))) re))
(* -1 (* re (+ 1 (* -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 im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(- (* -1/2 (/ (pow im 2) (pow re 3))) (/ 1 re))
(- (* (pow im 2) (- (* -1/4 (/ (pow im 2) (pow re 5))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/8 (/ (pow im 2) (pow re 7))) (* 1/4 (/ 1 (pow re 5))))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(- (* 1/2 (/ (pow im 2) re)) re)
(* -1 im)
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (pow im 2))))
(* 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))))
(/ (+ (* 2 re) (* 4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/ (- (+ (* 2 re) (* 8 (/ (pow re 5) (pow im 4)))) (* -4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/ (- (+ (* 2 re) (* 16 (/ (pow re 7) (pow im 6)))) (+ (* -8 (/ (pow re 5) (pow im 4))) (* -4 (/ (pow re 3) (pow im 2))))) (pow im 2))
(* (pow im 2) (+ (* -1 (/ re (pow im 2))) (* 1/2 (/ 1 re))))
(* -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
1
#s(literal 1 binary64)
(* 1/2 (/ (pow im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(/ (+ (* -1 (* (pow re 2) (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))) (* 1/2 (pow im 2))) re)
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 re re)) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))) (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1))))) re)
(/.f64 (fma.f64 (neg.f64 (pow.f64 re #s(literal 4 binary64))) (-.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) (/.f64 (/.f64 #s(literal -2 binary64) im) im)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 re re))) re)
(/ (+ (* 1/2 (pow im 2)) (* (pow re 2) (+ (* -1 (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1)) (* (pow re 2) (+ (* -2 (/ (* (pow re 2) (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2))))) (pow im 2))) (* -1 (- (* 2 (/ 1 (pow im 2))) (* -2 (/ (- (* -2 (/ (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2))) (pow im 2))) 1) (pow im 2)))))))))) re)
(/.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 (-.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) (/.f64 (/.f64 #s(literal -2 binary64) im) im)) (*.f64 re (/.f64 re (*.f64 im im)))) #s(literal -2 binary64) (-.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) im) (/.f64 (/.f64 #s(literal -2 binary64) im) im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 re re))) re)
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 (fma.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 re re) (/.f64 #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 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/16 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/2 (pow im 2)) (pow re 2)) re)
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 re re)) re)
(/ im re)
(/.f64 im re)
(pow re 2)
(*.f64 re re)
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 re re (*.f64 im im))
(* 2 (/ re (pow im 2)))
(*.f64 (/.f64 re (*.f64 im im)) #s(literal 2 binary64))
(* re (+ (* 4 (/ (pow re 2) (pow im 4))) (* 2 (/ 1 (pow im 2)))))
(*.f64 (fma.f64 (*.f64 (/.f64 #s(literal 4 binary64) (pow.f64 im #s(literal 4 binary64))) re) re (/.f64 #s(literal 2 binary64) (*.f64 im im))) re)
(* re (+ (* (pow re 2) (+ (* 8 (/ (pow re 2) (pow im 6))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(fma.f64 (/.f64 #s(literal 2 binary64) im) (/.f64 re im) (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64))) re) re (/.f64 #s(literal 4 binary64) (pow.f64 im #s(literal 4 binary64))))))
(* re (+ (* (pow re 2) (+ (* (pow re 2) (+ (* 16 (/ (pow re 2) (pow im 8))) (* 8 (/ 1 (pow im 6))))) (* 4 (/ 1 (pow im 4))))) (* 2 (/ 1 (pow im 2)))))
(fma.f64 (/.f64 #s(literal 2 binary64) im) (/.f64 re im) (*.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 8 binary64)))) #s(literal 16 binary64) (/.f64 #s(literal 8 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 re re) (/.f64 #s(literal 4 binary64) (pow.f64 im #s(literal 4 binary64))))))
(/ (+ (* -1 (pow re 2)) (* 1/2 (pow im 2))) re)
(/.f64 (neg.f64 (fma.f64 re re (*.f64 #s(literal -1/2 binary64) (*.f64 im im)))) re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #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 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #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 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 1 binary64)) re) re)
(/ -1 re)
(/.f64 #s(literal -1 binary64) re)
(/ (- (* -1/2 (/ (pow im 2) (pow re 2))) 1) re)
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64)) re)
(/ (- (* -1/4 (/ (pow im 4) (pow re 4))) (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))) re)
(/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64))) re)
(/ (- (* -1/8 (/ (pow im 6) (pow re 6))) (+ 1 (+ (* 1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))) re)
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal -1/8 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64)))) re)
(* -1 re)
(neg.f64 re)
(* re (- (* 1/2 (/ (pow im 2) (pow re 2))) 1))
(*.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (- (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) 1)))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4)))) 1)))
(*.f64 (+.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) (/.f64 im re) (/.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1 binary64)) re)
(* -1 (* re (- (+ (* -1 (/ (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))) (pow re 2))) (+ (* -1 (/ (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2)))))) (pow re 4))) (* -1/2 (/ (* (pow im 2) (- (* -1/4 (pow im 4)) (* -1/2 (* (pow im 2) (- (* -1 (+ (* -1/2 (pow im 2)) (* 1/2 (pow im 2)))) (* -1/2 (pow im 2))))))) (pow re 6))))) 1)))
(fma.f64 (neg.f64 re) (fma.f64 (*.f64 im im) (fma.f64 (/.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 re #s(literal 6 binary64))) #s(literal -1/2 binary64) (/.f64 (/.f64 #s(literal -1/2 binary64) re) re)) (/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))))) (pow.f64 re #s(literal 4 binary64)))) re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #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 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #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 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)))))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* -1 (/ (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))) re))
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64)) re)
(* -1 (/ (- (+ 1 (* 1/4 (/ (pow im 4) (pow re 4)))) (* -1/2 (/ (pow im 2) (pow re 2)))) re))
(/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64))) re)
(* -1 (/ (- (+ 1 (* 1/8 (/ (pow im 6) (pow re 6)))) (+ (* -1/2 (/ (pow im 2) (pow re 2))) (* -1/4 (/ (pow im 4) (pow re 4))))) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/8 binary64) (fma.f64 #s(literal 1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (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)
(+ 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 (fma.f64 (/.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)
(+ 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 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 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 im)
(*.f64 #s(literal 1/2 binary64) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) (*.f64 im im)) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(- (* -1/2 (/ (pow im 2) (pow re 3))) (/ 1 re))
(/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/2 binary64) #s(literal -1 binary64)) re)
(- (* (pow im 2) (- (* -1/4 (/ (pow im 2) (pow re 5))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(fma.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 im im) (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal -1 binary64) re))
(- (* (pow im 2) (- (* (pow im 2) (- (* -1/8 (/ (pow im 2) (pow re 7))) (* 1/4 (/ 1 (pow re 5))))) (* 1/2 (/ 1 (pow re 3))))) (/ 1 re))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 7 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im) (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal -1 binary64) re))
(- (* 1/2 (/ (pow im 2) re)) re)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im (neg.f64 re))
(* -1 im)
(neg.f64 im)
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (pow im 2))))
(*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im))) im) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (*.f64 re (/.f64 re (*.f64 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 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 re (/.f64 re (*.f64 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 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 re (/.f64 re (*.f64 im im))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 (fma.f64 re (/.f64 re (*.f64 im im)) #s(literal 1 binary64)) im) im)
(/ (+ (* 2 re) (* 4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) im) (/.f64 #s(literal 4 binary64) im) (*.f64 #s(literal 2 binary64) re)) (*.f64 im im))
(/ (- (+ (* 2 re) (* 8 (/ (pow re 5) (pow im 4)))) (* -4 (/ (pow re 3) (pow im 2)))) (pow im 2))
(/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) im) (/.f64 #s(literal 4 binary64) im) (fma.f64 (/.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 8 binary64) (*.f64 #s(literal 2 binary64) re))) (*.f64 im im))
(/ (- (+ (* 2 re) (* 16 (/ (pow re 7) (pow im 6)))) (+ (* -8 (/ (pow re 5) (pow im 4))) (* -4 (/ (pow re 3) (pow im 2))))) (pow im 2))
(/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 7 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 16 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) im) (/.f64 #s(literal 4 binary64) im) (fma.f64 (/.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 8 binary64) (*.f64 #s(literal 2 binary64) re)))) (*.f64 im im))
(* (pow im 2) (+ (* -1 (/ re (pow im 2))) (* 1/2 (/ 1 re))))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im))) im) im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (*.f64 re (/.f64 re (*.f64 im im))) #s(literal 1/2 binary64) #s(literal 1 binary64)) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 re (/.f64 re (*.f64 im im))) #s(literal 1/2 binary64) #s(literal 1 binary64))) (neg.f64 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))))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 re (/.f64 re (*.f64 im im))) #s(literal 1/2 binary64) #s(literal 1 binary64)))) (neg.f64 im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (fma.f64 (*.f64 re (/.f64 re (*.f64 im im))) #s(literal -1/2 binary64) #s(literal -1 binary64)) (neg.f64 im))

rewrite61.0ms (1.1%)

Memory
3.9MiB live, 77.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032210
056207
1203188
01565171
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
17 → 321
Calls
Call 1
Inputs
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))
(*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re)
(*.f64 #s(literal 1/2 binary64) im)
#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)
(*.f64 re re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re))
(fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re))
(neg.f64 im)
Outputs
(*.f64 (/.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) (neg.f64 re)))
(*.f64 (/.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal -1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (*.f64 (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (*.f64 (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (*.f64 (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (*.f64 (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal -1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(/.f64 (*.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) #s(literal -1 binary64)) (*.f64 (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(fma.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (neg.f64 re) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(fma.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (neg.f64 re)))
(fma.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (neg.f64 re) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(fma.f64 (neg.f64 re) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(+.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (neg.f64 re) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(+.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (neg.f64 re)) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(*.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal -1 binary64)) (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 1 binary64)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
(/.f64 (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal -1 binary64)) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))) (*.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 (*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(/.f64 (*.f64 (*.f64 #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(fma.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 re (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))))
(fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) re))
(fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) re (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(fma.f64 re (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))))
(+.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))) (*.f64 re (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))))
(+.f64 (*.f64 re (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))))
(+.f64 (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) re))
(+.f64 (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) re) (*.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im re)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) re)
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) re)
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 (neg.f64 re)))
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) re)
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 (neg.f64 re)))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im re)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) (neg.f64 (neg.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) re)
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) (neg.f64 (neg.f64 re)))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 (neg.f64 re)))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (neg.f64 (neg.f64 re)))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (/.f64 (*.f64 re re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(-.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 re))
(+.f64 (-.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 0 binary64)) re)
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) re))
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 (neg.f64 re)))
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re)
(+.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) re) #s(literal -1 binary64)) im)
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) re)) im)
(*.f64 (*.f64 #s(literal 1 binary64) im) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) im)
(*.f64 #s(literal 1 binary64) (/.f64 im re))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 re #s(literal -1 binary64)) (neg.f64 im)))
(*.f64 #s(literal -1 binary64) (/.f64 im (neg.f64 re)))
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 im) re))
(*.f64 im (pow.f64 re #s(literal -1 binary64)))
(pow.f64 (/.f64 re im) #s(literal -1 binary64))
(/.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) re)
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im)) (neg.f64 re))
(/.f64 (*.f64 im #s(literal 1 binary64)) re)
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 #s(literal 1 binary64) im)) (neg.f64 re))
(/.f64 (*.f64 #s(literal 1 binary64) im) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 #s(literal 1 binary64) im) re)
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 re im) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 #s(literal 1 binary64) im)))
(/.f64 #s(literal 1 binary64) (/.f64 re im))
(/.f64 (neg.f64 im) (neg.f64 re))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 re im)))
(/.f64 im re)
(neg.f64 (/.f64 im (neg.f64 re)))
(neg.f64 (/.f64 (neg.f64 im) re))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 im (neg.f64 re)))
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 im) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re)) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im re)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) re)
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) re)
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 (neg.f64 re)))
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) re)
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 (neg.f64 re)))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (*.f64 #s(literal 1 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 (neg.f64 re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im re)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) (neg.f64 (neg.f64 re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) re)
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) (*.f64 #s(literal 1 binary64) re))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) (neg.f64 (neg.f64 re)))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 (neg.f64 re)))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (*.f64 #s(literal 1 binary64) re))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (neg.f64 (neg.f64 re)))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))) (/.f64 (*.f64 re re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))))
(-.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 re))
(+.f64 (-.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 0 binary64)) re)
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) re))
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 (neg.f64 re)))
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re)
(+.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 im #s(literal 1/2 binary64))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) 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 #s(literal 1/2 binary64) im) re) (*.f64 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 re re) #s(literal 1/2 binary64)) (pow.f64 im #s(literal -1 binary64)) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) 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) im)
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 re re)) 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 (*.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 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) (neg.f64 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 (*.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 im #s(literal 2 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) (*.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (neg.f64 re) #s(literal -1 binary64)) re)
(*.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 re re))
(*.f64 #s(literal -1 binary64) (*.f64 re (neg.f64 re)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (neg.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)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)) #s(literal 1/4 binary64)))
(pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re))) #s(literal 1/2 binary64)))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(*.f64 (/.f64 #s(literal -1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) (neg.f64 re)))
(*.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(*.f64 #s(literal -1 binary64) (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(pow.f64 (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (neg.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))))
(/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re))
(neg.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 im re) im) #s(literal -1/2 binary64) re) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (fma.f64 re re (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re) (-.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (neg.f64 re) (-.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) #s(literal -1 binary64)) im (neg.f64 re))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (neg.f64 re))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1 binary64)) (neg.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 im) (neg.f64 re))
(fma.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 (neg.f64 im) re)) (neg.f64 re))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) (neg.f64 re))
(fma.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64) (neg.f64 re))
(fma.f64 #s(literal -1 binary64) re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) im (neg.f64 re))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im re) im) (neg.f64 re))
(fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) (neg.f64 re))
(fma.f64 re #s(literal -1 binary64) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 1/2 binary64) im)) (neg.f64 re))
(fma.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (neg.f64 re))
(-.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) #s(literal 0 binary64)) re)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)) (/.f64 (*.f64 re re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re)))
(-.f64 #s(literal 0 binary64) (-.f64 re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) re)
(+.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)) (neg.f64 re))
(+.f64 (neg.f64 re) (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(*.f64 #s(literal -1 binary64) im)
(*.f64 im #s(literal -1 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (+.f64 #s(literal 0 binary64) im))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 im #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 im im (*.f64 #s(literal 0 binary64) im))))
(neg.f64 im)
(-.f64 #s(literal 0 binary64) im)
(+.f64 #s(literal 0 binary64) (neg.f64 im))

eval44.0ms (0.8%)

Memory
-12.6MiB live, 73.0MiB allocated
Compiler

Compiled 12 961 to 1 341 computations (89.7% saved)

prune7.0ms (0.1%)

Memory
22.6MiB live, 22.6MiB allocated
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New3352337
Fresh000
Picked314
Done145
Total3397346
Accuracy
100.0%
Counts
346 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
51.6%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
4.6%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
51.1%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.7%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
50.4%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
Compiler

Compiled 94 to 62 computations (34% saved)

simplify293.0ms (5.3%)

Memory
-30.8MiB live, 163.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 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
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re))
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
cost-diff2
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
cost-diff3
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021138
030141
145141
263141
395141
4127141
5149119
6168119
7549119
82335119
92575119
102781119
113012119
123330119
133685119
144127119
154663119
164894119
175022119
185138119
195220119
205302119
215901119
226853119
237248119
247394119
257469119
267542119
277652119
287735119
297817119
307899119
317981119
08037108
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re))
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
(+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (/.f64 im re) re)
(/.f64 im re)
im
re
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 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))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im))
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im)
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) re (/.f64 im re))
(+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im))
(+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re))
(/.f64 (/.f64 im re) re)
(/.f64 im re)
im
re
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
#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 (/.f64 re im) re) #s(literal 1/2 binary64) im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
re

localize47.0ms (0.9%)

Memory
22.0MiB live, 59.3MiB allocated
Localize:

Found 8 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.18359375
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.21466786629304085
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
accuracy0.1015625
(/.f64 (/.f64 im re) re)
accuracy0.21466786629304085
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
accuracy14.585081741049656
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
accuracy16.55058704790987
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
Samples
37.0ms256×0valid
Compiler

Compiled 94 to 18 computations (80.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 8.0ms (37.8% of total)
ival-div: 5.0ms (23.6% of total)
ival-hypot: 4.0ms (18.9% of total)
ival-add: 3.0ms (14.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.2%)

Memory
18.4MiB live, 18.4MiB allocated
Counts
9 → 36
Calls
Call 1
Inputs
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) 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)
(/.f64 (/.f64 im re) re)
Outputs
(/ im re)
(/ (+ im (* 1/2 (/ (pow re 2) im))) re)
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/2 (/ re im))
(/ im (pow re 2))
(* re (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (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)))))))
(* -1 (* re (- (* -1 (/ im (pow re 2))) (* 1/2 (/ 1 im)))))
(* -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))))))))
(/ (+ (* 1/2 re) (/ (pow im 2) re)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(+ 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 im)
(* im (+ (* 1/2 (/ re (pow im 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)))))))
(* -1 (* im (- (* -1/2 (/ re (pow im 2))) (/ 1 re))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -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
2.0ms
im
@0
((* (+ (/ (/ im re) re) (/ 1/2 im)) re) (* (* (+ (/ (/ im re) re) (/ 1/2 im)) re) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (/ (/ im re) re))
2.0ms
im
@-inf
((* (+ (/ (/ im re) re) (/ 1/2 im)) re) (* (* (+ (/ (/ im re) re) (/ 1/2 im)) re) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (/ (/ im re) re))
2.0ms
im
@inf
((* (+ (/ (/ im re) re) (/ 1/2 im)) re) (* (* (+ (/ (/ im re) re) (/ 1/2 im)) re) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (/ (/ im re) re))
2.0ms
re
@-inf
((* (+ (/ (/ im re) re) (/ 1/2 im)) re) (* (* (+ (/ (/ im re) re) (/ 1/2 im)) re) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (/ (/ im re) re))
2.0ms
re
@inf
((* (+ (/ (/ im re) re) (/ 1/2 im)) re) (* (* (+ (/ (/ im re) re) (/ 1/2 im)) re) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (/ (/ im re) re))

simplify202.0ms (3.7%)

Memory
3.4MiB live, 199.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131520
1363520
21155518
34293474
47590474
08415433
Stop Event
iter limit
node limit
Counts
36 → 34
Calls
Call 1
Inputs
(/ im re)
(/ (+ im (* 1/2 (/ (pow re 2) im))) re)
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/2 (/ re im))
(/ im (pow re 2))
(* re (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (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)))))))
(* -1 (* re (- (* -1 (/ im (pow re 2))) (* 1/2 (/ 1 im)))))
(* -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))))))))
(/ (+ (* 1/2 re) (/ (pow im 2) re)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(+ 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 im)
(* im (+ (* 1/2 (/ re (pow im 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)))))))
(* -1 (* im (- (* -1/2 (/ re (pow im 2))) (/ 1 re))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -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 re)
(/.f64 im re)
(/ (+ im (* 1/2 (/ (pow re 2) im))) re)
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im) re)
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) re) re (/.f64 #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) re) (/.f64 re im) im))
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(/ im (pow re 2))
(/.f64 (/.f64 im re) re)
(* re (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (/.f64 im 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))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im 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)))))))
(fma.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))) #s(literal 1 binary64))) re (*.f64 (*.f64 (/.f64 im re) im) #s(literal 1/2 binary64)))
(* -1 (* re (- (* -1 (/ im (pow re 2))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (/.f64 im re))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(neg.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64)) re (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im)))
(* -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))))))))
(fma.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))) #s(literal 1 binary64))) (neg.f64 re) (*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im)))
(/ (+ (* 1/2 re) (/ (pow im 2) re)) im)
(/.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal 1/2 binary64) re)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) re (*.f64 im im)) im)
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64))) im) im (/.f64 #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 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ (* 1/2 (/ re (pow im 2))) (/ 1 re)))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (/.f64 im re))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) 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) re) (/.f64 re im) 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 (- (* -1/2 (/ re (pow im 2))) (/ 1 re))))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (/.f64 im re))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re 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)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1/8 binary64) #s(literal -1 binary64)) im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.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)))

rewrite290.0ms (5.2%)

Memory
-14.2MiB live, 235.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021117
030115
1123115
21007115
08440101
Stop Event
iter limit
node limit
iter limit
Counts
9 → 231
Calls
Call 1
Inputs
(*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re)
(*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) 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)
(/.f64 (/.f64 im re) re)
Outputs
(*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) im) (/.f64 re re))
(*.f64 (/.f64 re re) (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) im))
(*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re) (/.f64 re im))
(*.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) re) (pow.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) re) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re) (pow.f64 (*.f64 re im) #s(literal -1 binary64)))
(*.f64 (*.f64 re (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)))) (pow.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) #s(literal -1 binary64)))
(*.f64 (*.f64 re (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64)))) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 re (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im))) (pow.f64 (*.f64 re im) #s(literal -1 binary64)))
(*.f64 (/.f64 re im) (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re))
(*.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)) re)
(*.f64 re (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)))
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (/.f64 im re) re) re) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 (/.f64 im re) re) re) (*.f64 (/.f64 (/.f64 im re) re) re) (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (*.f64 (*.f64 (/.f64 (/.f64 im re) re) re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (/.f64 (/.f64 im re) re)) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 3 binary64))) (fma.f64 (*.f64 re (/.f64 (/.f64 im re) re)) (*.f64 re (/.f64 (/.f64 im re) re)) (-.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (*.f64 (*.f64 re (/.f64 (/.f64 im re) re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 re im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (/.f64 im re) re) re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (/.f64 (/.f64 im re) re) re) (*.f64 (/.f64 (/.f64 im re) re) re)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 (/.f64 (/.f64 im re) re) re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 re im) #s(literal 3 binary64)) (pow.f64 (*.f64 re (/.f64 (/.f64 im re) re)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 re (/.f64 (/.f64 im re) re)) (*.f64 re (/.f64 (/.f64 im re) re))) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re (/.f64 (/.f64 im re) re))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) re)) (neg.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) re)) (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re)) (neg.f64 (*.f64 re im)))
(/.f64 (neg.f64 (*.f64 re (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))))) (neg.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im))))
(/.f64 (neg.f64 (*.f64 re (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 re (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)))) (neg.f64 (*.f64 re im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) re) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) re) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re) (*.f64 re im))
(/.f64 (*.f64 re (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)))) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)))
(/.f64 (*.f64 re (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 re (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im))) (*.f64 re im))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) (*.f64 re (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) (*.f64 re (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re im) (*.f64 re (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)))))
(fma.f64 (/.f64 re #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (/.f64 re #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (*.f64 re #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (*.f64 re #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) im) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (*.f64 #s(literal 1 binary64) re) (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (*.f64 #s(literal 1 binary64) re) (/.f64 #s(literal 1/2 binary64) im) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) re) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (*.f64 #s(literal -1/2 binary64) re) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (*.f64 re #s(literal -1/2 binary64)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (*.f64 re #s(literal -1/2 binary64)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 re #s(literal 2 binary64)) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 re #s(literal 2 binary64)) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (/.f64 re im) #s(literal 1/2 binary64) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (pow.f64 im #s(literal -1 binary64)) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (pow.f64 im #s(literal -1 binary64)) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) re (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) re (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) re) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal -1 binary64)) re) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 re im) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 #s(literal 1/2 binary64) (/.f64 re im) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 (/.f64 (/.f64 im re) re) re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(fma.f64 re (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 (/.f64 im re) re) re))
(fma.f64 re (/.f64 #s(literal 1/2 binary64) im) (*.f64 re (/.f64 (/.f64 im re) re)))
(fma.f64 re (/.f64 (/.f64 im re) re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(+.f64 (*.f64 (/.f64 (/.f64 im re) re) re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(+.f64 (*.f64 re (/.f64 (/.f64 im re) re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 (/.f64 (/.f64 im re) re) re))
(+.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re (/.f64 (/.f64 im re) re)))
(*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) im) (/.f64 (*.f64 re re) re))
(*.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) re) (*.f64 (/.f64 re im) re))
(*.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) (*.f64 re re)) (pow.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) (*.f64 re re)) (pow.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) (*.f64 re re)) (pow.f64 (*.f64 re im) #s(literal -1 binary64)))
(*.f64 (*.f64 re re) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)) re) re)
(*.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re))
(*.f64 re (*.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)) re))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) (*.f64 re re))) (neg.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) (*.f64 re re))) (neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) (*.f64 re re))) (neg.f64 (*.f64 re im)))
(/.f64 (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) (*.f64 re re)) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)))
(/.f64 (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) (*.f64 re re)) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) (*.f64 re re)) (*.f64 re im))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal -1/2 binary64) im)) (*.f64 (-.f64 (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64))) (*.f64 re re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re)) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 2 binary64))) (*.f64 (fma.f64 (pow.f64 im #s(literal -3 binary64)) #s(literal 1/8 binary64) (pow.f64 (/.f64 (/.f64 im re) re) #s(literal 3 binary64))) (*.f64 re re))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re (*.f64 (/.f64 im re) im)) (*.f64 re re))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 re re) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im)))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 re re) (fma.f64 im (pow.f64 re #s(literal -2 binary64)) (/.f64 #s(literal 1/2 binary64) im))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(*.f64 (-.f64 (*.f64 im im) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))))
(*.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) (*.f64 (neg.f64 im) im))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im)))))
(*.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))))))
(*.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) (*.f64 (neg.f64 im) im)) (pow.f64 (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 im im (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re im))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64))) (pow.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))) #s(literal -1 binary64)))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (*.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 im im) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))))) (neg.f64 (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) (*.f64 (neg.f64 im) im)))) (neg.f64 (neg.f64 (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))))))
(/.f64 (-.f64 (*.f64 im im) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))) (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) (*.f64 (neg.f64 im) im))) (neg.f64 (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re im))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) (*.f64 (neg.f64 im) im)) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (-.f64 (*.f64 im im) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im im (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re im)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (*.f64 re im)))))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal -3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))))
(fma.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re)) (pow.f64 im #s(literal -1 binary64)) im)
(fma.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) im)
(fma.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) im)
(fma.f64 (*.f64 (*.f64 re re) #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)) im)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (pow.f64 im #s(literal -1 binary64)) im)
(fma.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 (*.f64 re re) #s(literal 2 binary64)) im)
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im)
(fma.f64 (/.f64 re im) (/.f64 re #s(literal 2 binary64)) im)
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) 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 #s(literal 1/2 binary64) (*.f64 (/.f64 re im) re) im)
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (*.f64 im im) (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (-.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))) (/.f64 (*.f64 im im) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) (neg.f64 im))))
(+.f64 (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)) im)
(+.f64 im (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
(*.f64 (/.f64 re #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 re #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) re) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 #s(literal -1/2 binary64) re) (pow.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (pow.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 re #s(literal 2 binary64)))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1/2 binary64) im) 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 (pow.f64 im #s(literal -1 binary64)) re))
(*.f64 #s(literal 1/2 binary64) (/.f64 re im))
(*.f64 re (/.f64 #s(literal 1/2 binary64) im))
(pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) re)) #s(literal -1 binary64))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 #s(literal 1 binary64) re)) (neg.f64 (*.f64 im #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 re #s(literal -1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 re #s(literal 1 binary64))) (neg.f64 (*.f64 im #s(literal 2 binary64))))
(/.f64 (*.f64 re #s(literal 1 binary64)) (*.f64 im #s(literal 2 binary64)))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1 binary64) re) (*.f64 im #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) (*.f64 #s(literal -1/2 binary64) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 re #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) (*.f64 re #s(literal -1/2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) re)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 im #s(literal 2 binary64)) re))
(/.f64 #s(literal 1 binary64) (/.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (neg.f64 re) (neg.f64 (*.f64 im #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(/.f64 re (*.f64 im #s(literal 2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 (*.f64 im #s(literal 2 binary64)))))
(*.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) (pow.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.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) (neg.f64 (*.f64 im #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (*.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 (neg.f64 (neg.f64 im))))
(/.f64 #s(literal -1/2 binary64) (neg.f64 im))
(/.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 im)))
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 (neg.f64 im) re))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 (pow.f64 re #s(literal -1 binary64))) re))
(*.f64 (pow.f64 (/.f64 re (neg.f64 im)) #s(literal -1 binary64)) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 (*.f64 (/.f64 im re) #s(literal 1 binary64)) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) re)))
(*.f64 (*.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal -2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (/.f64 re im) re))))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 im #s(literal -1 binary64))))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 im re))
(*.f64 #s(literal 1 binary64) (/.f64 (/.f64 im re) re))
(*.f64 (/.f64 (neg.f64 im) re) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 (neg.f64 im) (/.f64 #s(literal 1 binary64) (neg.f64 (*.f64 re re))))
(*.f64 (neg.f64 im) (/.f64 #s(literal 1 binary64) (*.f64 re (neg.f64 re))))
(*.f64 (/.f64 im re) (pow.f64 re #s(literal -1 binary64)))
(*.f64 im (pow.f64 re #s(literal -2 binary64)))
(pow.f64 (*.f64 (/.f64 re im) re) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64))) (neg.f64 (*.f64 (neg.f64 re) re)))
(/.f64 (neg.f64 (*.f64 (/.f64 im re) #s(literal 1 binary64))) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 im #s(literal 1 binary64))) (neg.f64 (*.f64 re re)))
(/.f64 (neg.f64 (pow.f64 re #s(literal -1 binary64))) (neg.f64 (/.f64 re im)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (*.f64 re re))))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (*.f64 re (neg.f64 re))))
(/.f64 (*.f64 (/.f64 im re) #s(literal 1 binary64)) re)
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (*.f64 (neg.f64 re) re))
(/.f64 (*.f64 im #s(literal 1 binary64)) (*.f64 re re))
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (/.f64 re im) re)))
(/.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 re im))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 (/.f64 im re) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re (neg.f64 re)) (neg.f64 im)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (*.f64 (/.f64 re im) re))))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 re im) re))
(/.f64 (/.f64 (neg.f64 im) re) (neg.f64 (neg.f64 (neg.f64 re))))
(/.f64 (/.f64 (neg.f64 im) re) (neg.f64 re))
(/.f64 (neg.f64 im) (neg.f64 (*.f64 re re)))
(/.f64 (neg.f64 im) (*.f64 re (neg.f64 re)))
(/.f64 (/.f64 im re) (neg.f64 (neg.f64 re)))
(/.f64 (/.f64 im re) re)
(/.f64 im (*.f64 re re))
(neg.f64 (/.f64 (/.f64 (neg.f64 im) re) re))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (*.f64 re re))) (/.f64 im (neg.f64 (*.f64 re re))))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 re (neg.f64 re))) (/.f64 im (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 (/.f64 (neg.f64 im) re) re))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 re im) re)) #s(literal -1 binary64)))

eval116.0ms (2.1%)

Memory
3.2MiB live, 76.7MiB allocated
Compiler

Compiled 9 011 to 1 289 computations (85.7% saved)

prune68.0ms (1.2%)

Memory
-28.8MiB live, 21.5MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New2731274
Fresh000
Picked022
Done055
Total2738281
Accuracy
100.0%
Counts
281 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
51.6%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
4.6%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
51.1%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.7%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
50.4%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
76.4%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
Compiler

Compiled 360 to 145 computations (59.7% saved)

regimes26.0ms (0.5%)

Memory
26.6MiB live, 26.6MiB allocated
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im 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)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
(hypot.f64 re im)
Outputs
(hypot.f64 re im)
Calls

6 calls:

4.0ms
re
4.0ms
im
4.0ms
(*.f64 im im)
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
4.0ms
(+.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)

regimes68.0ms (1.2%)

Memory
-0.9MiB live, 37.5MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im 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)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) re) (neg.f64 im)) re))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (+.f64 (/.f64 (/.f64 im re) re) (/.f64 #s(literal 1/2 binary64) im)) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) im) re) (*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im re) im) re)))))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
Calls

6 calls:

48.0ms
(*.f64 im im)
4.0ms
re
4.0ms
im
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
4.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
AccuracySegmentsBranch
99.7%1re
99.7%1im
99.7%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
99.7%1(+.f64 (*.f64 re re) (*.f64 im im))
99.7%1(*.f64 re re)
99.7%1(*.f64 im im)
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes30.0ms (0.5%)

Memory
-18.3MiB live, 21.5MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 im re) re))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
Calls

6 calls:

17.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
3.0ms
im
2.0ms
re
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
76.4%1re
80.3%3im
80.3%3(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
80.3%3(+.f64 (*.f64 re re) (*.f64 im im))
76.4%1(*.f64 re re)
80.3%3(*.f64 im im)
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes8.0ms (0.1%)

Memory
15.1MiB live, 15.1MiB allocated
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))
Calls

4 calls:

2.0ms
im
2.0ms
(*.f64 im im)
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
AccuracySegmentsBranch
79.8%3im
79.8%3(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
79.8%3(+.f64 (*.f64 re re) (*.f64 im im))
79.8%3(*.f64 im im)
Compiler

Compiled 19 to 16 computations (15.8% saved)

regimes43.0ms (0.8%)

Memory
-16.6MiB live, 20.3MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
Outputs
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
Calls

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

regimes7.0ms (0.1%)

Memory
14.8MiB live, 14.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

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))
1.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
1.9%1re
1.9%1(*.f64 re re)
1.9%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
1.9%1(+.f64 (*.f64 re re) (*.f64 im im))
1.9%1(*.f64 im im)
1.9%1im
Compiler

Compiled 23 to 21 computations (8.7% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.094254565971726e+300
2.5231032867652662e+306
0.0ms
0.0
7.784033696149603e-293
Compiler

Compiled 11 to 11 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.094254565971726e+300
2.5231032867652662e+306
0.0ms
0.0
7.784033696149603e-293
Compiler

Compiled 11 to 11 computations (0% saved)

simplify107.0ms (1.9%)

Memory
-25.4MiB live, 17.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
039160
157160
278160
398160
4114160
5125156
6132156
7341156
81996156
93727156
106842156
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))
(if (<=.f64 (*.f64 im im) #s(literal 0 binary64)) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (if (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)) (sqrt.f64 (fma.f64 re re (*.f64 im im))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))))
(if (<=.f64 (*.f64 im im) #s(literal 0 binary64)) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (if (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)) (sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 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))
(if (<=.f64 (*.f64 im im) #s(literal 0 binary64)) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (if (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)) (sqrt.f64 (fma.f64 re re (*.f64 im im))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))))
(if (or (<=.f64 (*.f64 im im) #s(literal 0 binary64)) (not (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(if (<=.f64 (*.f64 im im) #s(literal 0 binary64)) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (if (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)) (sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re)))))
(if (or (<=.f64 (*.f64 im im) #s(literal 0 binary64)) (not (<=.f64 (*.f64 im im) #s(literal 5000000000000000262523801276022101243522342905540795774579270577559012289944540978931856875402239320218522219164419390884712616176802152878223960923933534914241936004632879018689151168973940450296844766174853999725405595194838204400373263713900712472896293944100284214190578347360981934327297002700800 binary64)))) #s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(approx (* (+ (/ (/ im re) re) (/ 1/2 im)) re) (/.f64 im re)) re))) (sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))

soundness1.1s (20.4%)

Memory
3.6MiB live, 444.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032210
056207
1203188
01565171
0104429
1296429
2958427
33724393
46463391
08400354
0131520
1363520
21155518
34293474
47590474
08415433
02851324
18501229
228801155
087681068
0621
01021
12921
219621
3180021
0865115
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 237 to 103 computations (56.5% saved)

preprocess109.0ms (2%)

Memory
21.6MiB live, 102.7MiB allocated
Remove

(sort re im)

(abs re)

(abs im)

Compiler

Compiled 354 to 110 computations (68.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...