math.abs on complex

Time bar (total: 4.0s)

start0.0ms (0%)

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

sample930.0ms (23.4%)

Memory
-40.9MiB live, 1 070.6MiB allocated
Samples
569.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 285.0ms
ival-hypot: 276.0ms (96.8% of total)
ival-true: 6.0ms (2.1% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain189.0ms (4.8%)

Memory
12.8MiB live, 160.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1280-1(-2.4300605512623185e-275 1.6722922205680564e-157)(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-rescue1050
(+.f64 (*.f64 re re) (*.f64 im im))overflow105
(*.f64 re re)overflow62
(*.f64 im im)overflow62
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue220
(+.f64 (*.f64 re re) (*.f64 im im))underflow22
(*.f64 re re)underflow69
(*.f64 im im)underflow57
Confusion
Predicted +Predicted -
+1271
-0128
Precision
1.0
Recall
0.9921875
Confusion?
Predicted +Predicted MaybePredicted -
+12701
-00128
Precision?
1.0
Recall?
0.9921875
Freqs
test
numberfreq
0129
1127
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
66.0ms512×0valid
Compiler

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 39.0ms
ival-hypot: 28.0ms (71.9% of total)
ival-mult: 7.0ms (18% of total)
ival-add: 2.0ms (5.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess20.0ms (0.5%)

Memory
8.3MiB live, 53.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01642
14242
29242
311742
415542
068
0108
1218
2608
31178
41548
01543
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.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

simplify5.0ms (0.1%)

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

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
12123
26023
311723
415423
015417
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

localize29.0ms (0.7%)

Memory
-14.3MiB live, 70.2MiB 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))
accuracy29.633823963373928
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
24.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-add: 6.0ms (41.3% of total)
ival-hypot: 5.0ms (34.5% of total)
ival-mult: 3.0ms (20.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

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

6 calls:

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

simplify161.0ms (4.1%)

Memory
-24.2MiB live, 167.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104441
1323441
21251437
36235435
08273400
Stop Event
iter limit
node limit
Counts
27 → 25
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) im) im) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(pow re 2)
(*.f64 re re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 (/.f64 im re) re) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 im re) re) im #s(literal 1 binary64)) (*.f64 re re))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (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)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))) im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64)) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))))

rewrite131.0ms (3.3%)

Memory
37.8MiB live, 229.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
13921
234621
3588921
0819715
Stop Event
iter limit
node limit
iter limit
Counts
4 → 218
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 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 im re))
(*.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)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) #s(literal 1/2 binary64)) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 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))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (+.f64 im re))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (pow.f64 (neg.f64 (+.f64 (neg.f64 im) re)) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (pow.f64 (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (pow.f64 (-.f64 (neg.f64 im) (neg.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (neg.f64 (-.f64 (neg.f64 re) im)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (-.f64 (neg.f64 im) re) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (-.f64 im (neg.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (neg.f64 (+.f64 im re))) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (neg.f64 re) (neg.f64 im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (neg.f64 im) re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (neg.f64 re) im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))) (sqrt.f64 (neg.f64 (+.f64 im re))))
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 (neg.f64 re) im)) (sqrt.f64 (+.f64 (neg.f64 im) re)))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 (+.f64 im re)) (pow.f64 (neg.f64 (-.f64 re im)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 im re)) (pow.f64 (-.f64 im re) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 re) re) (*.f64 im im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 im) im) (*.f64 re re)) #s(literal 1/4 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 (hypot.f64 im re) (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)) (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)))
(pow.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(/.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(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)) (neg.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)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.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 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/4 binary64)))
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (neg.f64 (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 (neg.f64 im) re)) (-.f64 (neg.f64 re) im))
(*.f64 (-.f64 (neg.f64 re) (neg.f64 im)) (neg.f64 (+.f64 im re)))
(*.f64 (neg.f64 (+.f64 im re)) (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 re im))
(*.f64 (-.f64 (neg.f64 re) im) (+.f64 (neg.f64 im) re))
(*.f64 (+.f64 (neg.f64 im) re) (neg.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 (neg.f64 im) re))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 im (neg.f64 re)))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 (neg.f64 re) im))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (+.f64 im re) (neg.f64 (-.f64 re im)))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 (fma.f64 im im (*.f64 re re)) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 im im (*.f64 re re))))
(*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 (neg.f64 im) re)) (-.f64 (neg.f64 re) im))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 im re)) (-.f64 re im))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 re (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 re (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (neg.f64 re) re))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 im im) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 re re) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 im) im (*.f64 re re))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 re) re (*.f64 im im))
(fma.f64 (*.f64 im im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 im (neg.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 (neg.f64 re) re))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 re (neg.f64 re) (*.f64 im im))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re re))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(+.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(+.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (/.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 re))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (pow.f64 im #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (/.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 im))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))

eval39.0ms (1%)

Memory
-29.5MiB live, 117.5MiB allocated
Compiler

Compiled 4 457 to 759 computations (83% saved)

prune5.0ms (0.1%)

Memory
19.7MiB live, 19.7MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2385243
Fresh000
Picked101
Done000
Total2395244
Accuracy
100.0%
Counts
244 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
53.7%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
53.2%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
92.4%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 100 to 70 computations (30% saved)

simplify13.0ms (0.3%)

Memory
-29.2MiB live, 17.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01988
02882
14682
211782
327082
448882
565482
666782
066782
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 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re
Outputs
(hypot.f64 re im)
(hypot.f64 im re)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re

localize45.0ms (1.1%)

Memory
-10.8MiB live, 90.7MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(*.f64 re re)
accuracy0.6013291329028254
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
accuracy4.7437463550468255
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
accuracy0.0
(fma.f64 im im (*.f64 re re))
accuracy0.0
(*.f64 re re)
accuracy29.633823963373928
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
accuracy0.0
(*.f64 im im)
accuracy0.31502807387765297
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
accuracy29.633823963373928
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
accuracy0.0
(neg.f64 re)
accuracy62.78521030571507
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0.0
(hypot.f64 re im)
Samples
33.0ms256×0valid
Compiler

Compiled 88 to 15 computations (83% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-hypot: 10.0ms (45.6% of total)
ival-mult: 5.0ms (22.8% of total)
ival-add: 3.0ms (13.7% of total)
ival-div: 2.0ms (9.1% of total)
ival-neg: 1.0ms (4.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.2%)

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

6 calls:

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

simplify197.0ms (5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0116483
1349483
21327466
36699466
08417428
Stop Event
iter limit
node limit
Counts
32 → 30
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) im) im) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* -1 re)
(neg.f64 re)
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(pow re 2)
(*.f64 re re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 1 binary64)) (*.f64 re re))
(* 1/2 (/ (pow re 2) im))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))) (neg.f64 re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))) (neg.f64 re))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (*.f64 re re) im) im (*.f64 im im))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (/.f64 (*.f64 re re) im) im)) #s(literal 1 binary64)) (neg.f64 im))

rewrite106.0ms (2.7%)

Memory
-0.4MiB live, 146.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01976
02870
18770
272070
0983670
Stop Event
iter limit
node limit
iter limit
Counts
12 → 309
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 re im))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 (neg.f64 im) (neg.f64 re))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 im) re)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(*.f64 (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im))) #s(literal 1/2 binary64))))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (pow.f64 im #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 re im))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 (neg.f64 im) (neg.f64 re))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 im) re)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 (neg.f64 (+.f64 re im))) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 (neg.f64 re) im)) (-.f64 (neg.f64 re) im))
(*.f64 (neg.f64 (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (neg.f64 (+.f64 (neg.f64 im) re)) (-.f64 (neg.f64 im) re))
(*.f64 (-.f64 (neg.f64 re) (neg.f64 im)) (neg.f64 (+.f64 re im)))
(*.f64 (neg.f64 (+.f64 re im)) (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 re im)) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 re im)) (-.f64 re im))
(*.f64 (-.f64 (neg.f64 re) im) (+.f64 (neg.f64 re) im))
(*.f64 (+.f64 (neg.f64 re) im) (neg.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (+.f64 (neg.f64 re) im) (-.f64 (neg.f64 re) im))
(*.f64 (-.f64 re im) (+.f64 re im))
(*.f64 (+.f64 re im) (neg.f64 (-.f64 re im)))
(*.f64 (+.f64 re im) (-.f64 re im))
(*.f64 (-.f64 (neg.f64 im) (neg.f64 re)) (neg.f64 (+.f64 im re)))
(*.f64 (neg.f64 (+.f64 im re)) (neg.f64 (-.f64 (neg.f64 im) (neg.f64 re))))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 im re))
(*.f64 (-.f64 (neg.f64 im) re) (+.f64 (neg.f64 im) re))
(*.f64 (+.f64 (neg.f64 im) re) (neg.f64 (-.f64 (neg.f64 im) re)))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 (neg.f64 im) re))
(*.f64 (-.f64 im re) (+.f64 im re))
(*.f64 (+.f64 im re) (neg.f64 (-.f64 im re)))
(*.f64 (+.f64 im re) (-.f64 im re))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 re im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 (neg.f64 im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 im (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 (neg.f64 im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 im (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (neg.f64 im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 re im)) (/.f64 im (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 im im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 im im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 re im)) (/.f64 (*.f64 im im) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 re im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 re (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 re (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 re (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 re (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 re im)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 im) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 im (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 (neg.f64 im) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 im (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 im re)) (/.f64 im (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 im im) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 im im) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 im) (neg.f64 re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (neg.f64 re) re))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 im) im (*.f64 re re))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 re) re (*.f64 im im))
(fma.f64 im (neg.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 (neg.f64 re) re))
(fma.f64 im im (*.f64 re re))
(fma.f64 re (neg.f64 re) (*.f64 im im))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(+.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(+.f64 (*.f64 im im) (*.f64 re re))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))) (*.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)))) (+.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))) (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (fma.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re) #s(literal 3 binary64))) (fma.f64 im im (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))) (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))))))
(/.f64 (neg.f64 (fma.f64 im im (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (neg.f64 im) im)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))) (*.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))
(/.f64 (fma.f64 im im (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (neg.f64 im) im))) (neg.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))
(/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (neg.f64 im) im)) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (neg.f64 im) im))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)))
(neg.f64 (/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))
(neg.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 (neg.f64 im) im)) (neg.f64 (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im))))
(neg.f64 (/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (neg.f64 (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) 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 #s(literal 1/2 binary64) im) re) re))) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))
(-.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)))
(-.f64 im (*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 im re))))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64)) (*.f64 im (-.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re) 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 #s(literal -1/2 binary64) (neg.f64 im))
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))

eval38.0ms (1%)

Memory
-0.8MiB live, 85.2MiB allocated
Compiler

Compiled 7 629 to 1 007 computations (86.8% saved)

prune7.0ms (0.2%)

Memory
24.6MiB live, 24.6MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New3103313
Fresh000
Picked145
Done000
Total3117318
Accuracy
100.0%
Counts
318 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
53.7%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
53.2%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.1%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
98.4%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
3.9%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
Compiler

Compiled 97 to 64 computations (34% saved)

simplify25.0ms (0.6%)

Memory
-33.5MiB live, 27.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
023150
033140
165140
2218140
3743140
41518140
51645140
01645125
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(/.f64 (*.f64 re re) im)
(*.f64 re re)
re
im
#s(literal 1/2 binary64)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(sqrt.f64 im)
im
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#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 re re) im) #s(literal 1/2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(/.f64 (*.f64 re re) im)
(*.f64 re re)
re
im
#s(literal 1/2 binary64)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.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 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(sqrt.f64 im)
im
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
re

localize71.0ms (1.8%)

Memory
4.3MiB live, 93.9MiB allocated
Localize:

Found 12 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.22265625
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.6013291329028254
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
accuracy0.1484375
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
accuracy0.22265625
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.453125
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
accuracy0.6013291329028254
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
accuracy0.00390625
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
accuracy0.6013291329028254
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
accuracy10.129757036983829
(/.f64 (*.f64 re re) im)
accuracy61.39159963063201
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
Samples
60.0ms256×0valid
Compiler

Compiled 106 to 18 computations (83% saved)

Precisions
Click to see histograms. Total time spent on operations: 49.0ms
ival-mult: 35.0ms (71.3% of total)
ival-hypot: 5.0ms (10.2% of total)
ival-div: 3.0ms (6.1% of total)
ival-add: 3.0ms (6.1% of total)
ival-sqrt: 2.0ms (4.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.3%)

Memory
14.9MiB live, 14.9MiB allocated
Counts
12 → 33
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(/.f64 (*.f64 re re) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
(sqrt.f64 im)
(*.f64 (*.f64 (/.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)
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/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(* 1/2 (/ re im))
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/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(sqrt im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (pow (sqrt -1) 2)))
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
(* -1 (* (sqrt im) (pow (sqrt -1) 2)))
Calls

6 calls:

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

simplify310.0ms (7.8%)

Memory
15.1MiB live, 405.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0123458
1362458
21390448
37488448
08777410
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/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(* 1/2 (/ re im))
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/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(sqrt im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (pow (sqrt -1) 2)))
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
(* -1 (* (sqrt im) (pow (sqrt -1) 2)))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal -1/8 binary64) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))) re)
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal -1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(sqrt im)
(sqrt.f64 im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -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))) (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(* -1 (* im (pow (sqrt -1) 2)))
im
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(* -1 (* (sqrt im) (pow (sqrt -1) 2)))
(sqrt.f64 im)

rewrite191.0ms (4.8%)

Memory
-8.3MiB live, 220.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023130
033120
1122120
2818120
09620105
Stop Event
iter limit
node limit
iter limit
Counts
12 → 278
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(/.f64 (*.f64 re re) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
(sqrt.f64 im)
(*.f64 (*.f64 (/.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)
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) (*.f64 re re))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) re)
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))))
(*.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) re))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (*.f64 (neg.f64 re) re) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 (neg.f64 re) (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (neg.f64 re) re))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 (*.f64 re re) (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)))
(*.f64 (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 re (neg.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 re (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(/.f64 (fabs.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) (sqrt.f64 im))) (sqrt.f64 im))
(/.f64 (fabs.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re)) im)
(/.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) im)
(/.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(sqrt.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)))
(fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 (/.f64 re im) re)
(*.f64 (neg.f64 re) (/.f64 re im))
(*.f64 re (/.f64 re im))
(pow.f64 (/.f64 re (sqrt.f64 im)) #s(literal 2 binary64))
(/.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 (*.f64 (neg.f64 re) re) im)
(/.f64 (*.f64 re re) im)
(neg.f64 (/.f64 (*.f64 re re) im))
(fabs.f64 (/.f64 (*.f64 re re) im))
(exp.f64 (-.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) (log.f64 im)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))))
(/.f64 (-.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im) (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)))) (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im) (*.f64 im im))) (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (pow.f64 im #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))
(/.f64 (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(neg.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(fma.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 (sqrt.f64 im) (pow.f64 im #s(literal 1/4 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)) im)
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im) im)
(fma.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) (*.f64 re re) im)
(fma.f64 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) re im)
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) im)
(fma.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) im)
(fma.f64 (/.f64 re (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) #s(literal 1/2 binary64)) im)
(fma.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) re) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (*.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 im)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re) im)
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (neg.f64 re) re) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64) im)
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 re re) (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 re (neg.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) im)
(fma.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) im)
(fma.f64 re (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(-.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)
(-.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(+.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(+.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)
(+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(*.f64 (neg.f64 (pow.f64 im #s(literal 1/4 binary64))) (neg.f64 (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 1/4 binary64))) (pow.f64 im #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (pow.f64 im #s(literal 1/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 im #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (sqrt.f64 im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sqrt.f64 im) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 im #s(literal 1/4 binary64)) (neg.f64 (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 im #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/8 binary64))
(pow.f64 (sqrt.f64 im) #s(literal 1 binary64))
(pow.f64 (*.f64 im im) #s(literal 1/4 binary64))
(pow.f64 im #s(literal 1/2 binary64))
(neg.f64 (sqrt.f64 im))
(sqrt.f64 im)
(fabs.f64 (sqrt.f64 im))
(exp.f64 (/.f64 (log.f64 im) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 im)) #s(literal 1 binary64)))
(exp.f64 (log.f64 (sqrt.f64 im)))
(+.f64 (cosh.f64 (log.f64 (sqrt.f64 im))) (sinh.f64 (log.f64 (sqrt.f64 im))))
(*.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) (*.f64 re re))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) re)
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))))
(*.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) re))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (*.f64 (neg.f64 re) re) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 (neg.f64 re) (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (neg.f64 re) re))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 (*.f64 re re) (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)))
(*.f64 (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 re (neg.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 re (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(/.f64 (fabs.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) (sqrt.f64 im))) (sqrt.f64 im))
(/.f64 (fabs.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re)) im)
(/.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) im)
(/.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(sqrt.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)))
(fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))))))
(/.f64 (-.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im) (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)))) (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im) (*.f64 im im))) (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))) (pow.f64 im #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))))
(/.f64 (fma.f64 im im (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(neg.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(fma.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (*.f64 (sqrt.f64 im) (pow.f64 im #s(literal 1/4 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)) im)
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im) im)
(fma.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) (*.f64 re re) im)
(fma.f64 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) re im)
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)) im)
(fma.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) im)
(fma.f64 (/.f64 (*.f64 re re) (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) im)
(fma.f64 (/.f64 re (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) #s(literal 1/2 binary64)) im)
(fma.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 im)) re) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (*.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 im)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 (pow.f64 im #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re) im)
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (neg.f64 re) re) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64) im)
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 re re) (fabs.f64 (/.f64 #s(literal -1/2 binary64) im)) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 re (neg.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)) im)
(fma.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) im)
(fma.f64 re (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(-.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)
(-.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))))
(+.f64 (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)) (/.f64 (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)))
(+.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)
(+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (neg.f64 re))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) re)
(*.f64 #s(literal 1/2 binary64) (/.f64 re im))
(*.f64 re (/.f64 #s(literal -1/2 binary64) im))
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) im)
(/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(/.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 #s(literal -1/2 binary64) im)
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))

eval67.0ms (1.7%)

Memory
-5.1MiB live, 97.6MiB allocated
Compiler

Compiled 6 895 to 753 computations (89.1% saved)

prune5.0ms (0.1%)

Memory
18.2MiB live, 18.2MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2291230
Fresh000
Picked123
Done224
Total2325237
Accuracy
100.0%
Counts
237 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
53.7%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
99.1%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
98.4%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
98.4%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
Compiler

Compiled 72 to 47 computations (34.7% saved)

simplify31.0ms (0.8%)

Memory
-29.2MiB live, 60.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01540
01532
14032
214632
346332
493532
5125432
6132032
0132025
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
im
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
im

localize31.0ms (0.8%)

Memory
32.4MiB live, 85.8MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.6013291329028254
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
accuracy1.016403737060645
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
Samples
26.0ms256×0valid
Compiler

Compiled 24 to 12 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-add: 5.0ms (27.3% of total)
ival-mult: 4.0ms (21.9% of total)
ival-hypot: 4.0ms (21.9% of total)
ival-div: 2.0ms (10.9% of total)
ival-sqrt: 2.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
-36.0MiB live, 10.3MiB allocated
Counts
2 → 27
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (pow (sqrt -1) 2)))
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
Calls

6 calls:

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

simplify241.0ms (6.1%)

Memory
21.9MiB live, 227.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0114432
1342432
21340422
37357422
08637385
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)))))
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))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (pow (sqrt -1) 2)))
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal -1/8 binary64) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))) re)
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) (/.f64 im re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 im re)) (/.f64 im re) #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal -1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -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))) (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 im) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im))
(* -1 (* im (pow (sqrt -1) 2)))
im
(* -1 (* im (+ (* -1/2 (/ (pow re 2) (pow im 2))) (pow (sqrt -1) 2))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)

rewrite108.0ms (2.7%)

Memory
-8.1MiB live, 139.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01539
01531
17431
260731
3746431
0824824
Stop Event
iter limit
node limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
#s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im)

eval7.0ms (0.2%)

Memory
-35.8MiB live, 10.9MiB allocated
Compiler

Compiled 637 to 122 computations (80.8% saved)

prune3.0ms (0.1%)

Memory
14.6MiB live, 14.6MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New23023
Fresh000
Picked011
Done044
Total23528
Accuracy
100.0%
Counts
28 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
53.7%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
99.1%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
98.4%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)))
98.4%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
Compiler

Compiled 218 to 90 computations (58.7% saved)

regimes60.0ms (1.5%)

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

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

regimes37.0ms (0.9%)

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

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

Compiled 23 to 21 computations (8.7% saved)

regimes31.0ms (0.8%)

Memory
-23.1MiB live, 25.0MiB allocated
Accuracy

Total -61.8b remaining (-6078.5%)

Threshold costs -61.8b (-6078.5%)

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

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

simplify69.0ms (1.7%)

Memory
11.4MiB live, 54.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02040
14540
215140
347040
494640
5129840
6136740
7137940
8140840
9160440
10382640
11779840
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))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))
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))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (* (/ 1/2 im) re) re)) im))

soundness712.0ms (17.9%)

Memory
-19.5MiB live, 373.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0104441
1323441
21251437
36235435
08273400
0621
01021
13921
234621
3588921
0819715
0123458
1362458
21390448
37488448
08777410
01976
02870
18770
272070
0983670
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 77 to 46 computations (40.3% saved)

preprocess23.0ms (0.6%)

Memory
36.2MiB live, 36.2MiB allocated
Remove

(sort re im)

(abs re)

(abs im)

Compiler

Compiled 122 to 72 computations (41% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...