math.abs on complex

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
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)

sample757.0ms (18.2%)

Memory
6.6MiB live, 1 011.5MiB allocated; 331ms collecting garbage
Samples
403.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 156.0ms
ival-hypot: 145.0ms (92.9% of total)
ival-true: 5.0ms (3.2% of total)
ival-assert: 3.0ms (1.9% of total)
adjust: 2.0ms (1.3% of total)
Bogosity

explain128.0ms (3.1%)

Memory
-21.6MiB live, 169.3MiB allocated; 34ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1220-1(-5.440768078572635e-159 -3.0545490433184216e-202)(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-rescue1120
(+.f64 (*.f64 re re) (*.f64 im im))overflow112
(*.f64 re re)overflow67
(*.f64 im im)overflow61
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue90
(+.f64 (*.f64 re re) (*.f64 im im))underflow9
(*.f64 re re)underflow57
(*.f64 im im)underflow50
Confusion
Predicted +Predicted -
+1211
-0134
Precision
1.0
Recall
0.9918032786885246
Confusion?
Predicted +Predicted MaybePredicted -
+12101
-00134
Precision?
1.0
Recall?
0.9918032786885246
Freqs
test
numberfreq
0135
1121
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
39.0ms512×0valid
Compiler

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 14.0ms (53.1% of total)
ival-hypot: 9.0ms (34.1% of total)
ival-add: 2.0ms (7.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess16.0ms (0.4%)

Memory
32.1MiB live, 32.1MiB allocated; 0ms collecting garbage
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; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.8%
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 8 to 6 computations (25% saved)

simplify17.0ms (0.4%)

Memory
-31.6MiB live, 14.7MiB allocated; 3ms collecting garbage
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

localize25.0ms (0.6%)

Memory
22.8MiB live, 75.3MiB allocated; 7ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy0.0
(*.f64 re re)
accuracy0.0
(*.f64 im im)
accuracy28.27101603839385
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
20.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

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

series5.0ms (0.1%)

Memory
13.0MiB live, 13.0MiB allocated; 0ms collecting garbage
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
@0
((sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* re re) (* im im))
1.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* re re) (* im im))
1.0ms
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))

simplify158.0ms (3.8%)

Memory
-19.6MiB live, 218.4MiB allocated; 43ms collecting garbage
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)))))

rewrite112.0ms (2.7%)

Memory
-7.1MiB live, 187.7MiB allocated; 22ms collecting garbage
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))))

eval28.0ms (0.7%)

Memory
19.3MiB live, 111.3MiB allocated; 5ms collecting garbage
Compiler

Compiled 4 457 to 759 computations (83% saved)

prune8.0ms (0.2%)

Memory
-27.9MiB live, 28.2MiB allocated; 4ms collecting garbage
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)
55.8%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
55.8%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
94.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
1.7%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 100 to 70 computations (30% saved)

simplify38.0ms (0.9%)

Memory
-11.0MiB live, 36.1MiB allocated; 3ms collecting garbage
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 im im)
cost-diff0
(fma.f64 re re (*.f64 im im))
cost-diff4
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
cost-diff0
(*.f64 im im)
cost-diff0
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
cost-diff0
(neg.f64 re)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
cost-diff0
(hypot.f64 re im)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01982
02882
14482
211482
327682
449382
565982
667682
067682
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(hypot.f64 re im)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
re
(*.f64 im im)
im
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 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 re re (*.f64 im im)))
(hypot.f64 im re)
(fma.f64 re re (*.f64 im im))
re
(*.f64 im im)
im
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re

localize54.0ms (1.3%)

Memory
14.6MiB live, 61.1MiB allocated; 2ms collecting garbage
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(*.f64 re re)
accuracy0.163287734588277
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
accuracy3.8187625233653644
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
accuracy0.0
(fma.f64 re re (*.f64 im im))
accuracy0.0
(*.f64 im im)
accuracy28.27101603839385
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
accuracy0.0
(*.f64 im im)
accuracy0.052807238889349184
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
accuracy28.27101603839385
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
accuracy0.0
(neg.f64 re)
accuracy62.88764914116786
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0.0
(hypot.f64 re im)
Samples
45.0ms256×0valid
Compiler

Compiled 88 to 13 computations (85.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 4.0ms (28.2% of total)
ival-hypot: 4.0ms (28.2% of total)
ival-div: 2.0ms (14.1% of total)
ival-add: 2.0ms (14.1% of total)
ival-neg: 1.0ms (7.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
14.2MiB live, 14.2MiB allocated; 0ms collecting garbage
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 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
(*.f64 re re)
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
1.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re))
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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re))
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 (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re))
1.0ms
im
@0
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re))
1.0ms
re
@-inf
((sqrt (+ (* re re) (* im im))) (sqrt (+ (* re re) (* im im))) (neg re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* im im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (/ 1/2 im) (* re re))

simplify303.0ms (7.3%)

Memory
29.3MiB live, 352.1MiB allocated; 88ms collecting garbage
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))

rewrite137.0ms (3.3%)

Memory
-10.3MiB live, 177.8MiB allocated; 61ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01970
02870
17670
256470
0882570
Stop Event
iter limit
node limit
iter limit
Counts
12 → 303
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
(*.f64 re re)
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 im re))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.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 (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 (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 (*.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 im re))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.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 (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 (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 (*.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 (/.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 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (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 (/.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 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 (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 (*.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 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 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 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)))))) (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 im #s(literal 6 binary64)) (pow.f64 (*.f64 (neg.f64 re) 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 (+.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))) (fma.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 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 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 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))) (*.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 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 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 im im (*.f64 re re)))
(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 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 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (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 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 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (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 (*.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 (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 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 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 (*.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 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 (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 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 (*.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 (*.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 (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 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 (/.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 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 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 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))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(*.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)) (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 (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))))
(*.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)) (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))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))
(*.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))) (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 2 binary64)))) (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) (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))))
(*.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))) (+.f64 (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) (fma.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 im im)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64))))
(*.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im)) (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) (neg.f64 im)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(*.f64 (fma.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 im im)) (/.f64 (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im) (fma.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 im im))))
(*.f64 (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im) (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 re re) im) #s(literal 1/2 binary64)) 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 re re) im) #s(literal 1/2 binary64)) im))) (*.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im)))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))) (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im)))))
(/.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 re re) im) #s(literal 1/2 binary64)) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 re re) im) #s(literal 1/2 binary64)) 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 re re) im) #s(literal 1/2 binary64)) im)) (fma.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (*.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 im im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.f64 (*.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im)))) (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im)))))))
(/.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 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im)))))
(/.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 im))) (neg.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))))
(/.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 re re) im) #s(literal 1/2 binary64)) im)) (*.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im)) (*.f64 (fma.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 im im)) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.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 im im)) (fma.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 im im))))
(/.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 im)) (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 im #s(literal 4 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 im)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (fma.f64 (*.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 im)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (*.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 im im))))
(/.f64 (+.f64 (pow.f64 im #s(literal 9 binary64)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 9 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) im) #s(literal 3 binary64)))) (fma.f64 (*.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 im im))))
(/.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 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im))))
(/.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 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im)))
(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 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im))))
(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 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 2 binary64)))) (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) (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) (fma.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 im im)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (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 (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im))) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (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))) (fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (-.f64 (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 2 binary64)))) (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) (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))) im) (fma.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 im im)) (pow.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re) im)
(fma.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) re) (/.f64 re (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (/.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 re)) (/.f64 (neg.f64 re) im) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (/.f64 (*.f64 re re) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) (/.f64 (pow.f64 im #s(literal 3/2 binary64)) (fma.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(fma.f64 (*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re) (/.f64 (*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) re) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (fabs.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re)) (/.f64 (*.f64 (fabs.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.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 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.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 re re) im) #s(literal 1/2 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) (neg.f64 im)) im)
(fma.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) (/.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im im))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 im im) (/.f64 im (fma.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(fma.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(fma.f64 im (/.f64 (*.f64 im im) (fma.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (*.f64 im im) (-.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))) (/.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 re re) im) #s(literal 1/2 binary64)))))
(-.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 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) 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 (*.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 im im))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64))) (fma.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 im im))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.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 im 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 re re) im) #s(literal 1/2 binary64)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)))
(+.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im)
(+.f64 im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(/.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))
(*.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))))

eval37.0ms (0.9%)

Memory
1.0MiB live, 91.0MiB allocated; 9ms collecting garbage
Compiler

Compiled 8 726 to 1 001 computations (88.5% saved)

prune12.0ms (0.3%)

Memory
-31.0MiB live, 26.8MiB allocated; 9ms collecting garbage
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New3082310
Fresh000
Picked145
Done000
Total3096315
Accuracy
100.0%
Counts
315 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
55.8%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
55.8%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.7%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.7%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
3.7%
#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 76 to 51 computations (32.9% saved)

simplify12.0ms (0.3%)

Memory
24.3MiB live, 24.3MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1/2 binary64) im)
cost-diff0
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
cost-diff0
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
cost-diff0
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
cost-diff0
(/.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
01997
02695
15195
213395
330495
452895
566495
666795
066785
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 (*.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 re im) (*.f64 #s(literal 1/2 binary64) 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 re im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) 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 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) 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

localize42.0ms (1%)

Memory
-9.0MiB live, 80.0MiB allocated; 11ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.163287734588277
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
accuracy0.23828125
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.0
(*.f64 re re)
accuracy0.163287734588277
#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))))
accuracy7.965892004901008
(/.f64 (*.f64 re re) im)
accuracy61.59729803917021
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
Samples
30.0ms256×0valid
Compiler

Compiled 65 to 15 computations (76.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 7.0ms (34.5% of total)
ival-div: 6.0ms (29.6% of total)
ival-hypot: 4.0ms (19.7% of total)
ival-add: 2.0ms (9.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.2%)

Memory
21.1MiB live, 21.1MiB allocated; 0ms collecting garbage
Counts
9 → 30
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)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
(*.f64 re re)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* 1/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(* 1/2 (/ re im))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

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

simplify162.0ms (3.9%)

Memory
-8.9MiB live, 176.3MiB allocated; 33ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0113457
1332457
21265442
36069439
08290407
Stop Event
iter limit
node limit
Counts
30 → 28
Calls
Call 1
Inputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* 1/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(* 1/2 (/ re im))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal -1/8 binary64) #s(literal 1/2 binary64)) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(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/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 (-.f64 (/.f64 im (*.f64 re re)) (/.f64 #s(literal -1/2 binary64) im)) re) re)
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.f64 (/.f64 im re) #s(literal 1/2 binary64)) re) im #s(literal 1 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) im (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 im) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (/.f64 (*.f64 re re) im) im)) #s(literal 1 binary64)) (neg.f64 im))

rewrite686.0ms (16.5%)

Memory
-92.4MiB live, 197.0MiB allocated; 1.0s collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01991
02689
19789
261889
0894679
Stop Event
iter limit
node limit
iter limit
Counts
9 → 137
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)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(/.f64 #s(literal 1/2 binary64) im)
(*.f64 re re)
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re))
(*.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 (neg.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 (neg.f64 re) re) im))
(*.f64 (neg.f64 re) (*.f64 (/.f64 (neg.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) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.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) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re) (neg.f64 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)))
(*.f64 (/.f64 (neg.f64 re) im) (neg.f64 re))
(*.f64 (/.f64 re im) re)
(*.f64 (neg.f64 re) (/.f64 (neg.f64 re) im))
(*.f64 re (/.f64 re im))
(/.f64 (*.f64 (neg.f64 re) re) (neg.f64 im))
(/.f64 (*.f64 re re) im)
(neg.f64 (/.f64 (*.f64 (neg.f64 re) re) im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 (/.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))) (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 2 binary64)))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))))
(*.f64 (/.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))) (+.f64 (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im))) (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im)) (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 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im))))
(*.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re (neg.f64 im)) (/.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (/.f64 (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(*.f64 (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))) (*.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))) (fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))) (-.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (fma.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (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 (+.f64 im (*.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) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.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) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))) (*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im))) (neg.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))))
(/.f64 (neg.f64 (neg.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))))) (neg.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (*.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(/.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 im)) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (fma.f64 (*.f64 im im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64))) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64)) (pow.f64 im #s(literal 6 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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(/.f64 (+.f64 (pow.f64 im #s(literal 9 binary64)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 9 binary64))) (*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (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))) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im))) (neg.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(/.f64 (neg.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)))) (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (neg.f64 im) im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))
(/.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im))) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(neg.f64 (/.f64 (neg.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(neg.f64 (/.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im)) (neg.f64 (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im))))
(neg.f64 (/.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))) (neg.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (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 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im))) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) im))) (fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 2 binary64)))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64))) (/.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 2 binary64)))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (neg.f64 im) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)) (pow.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 4 binary64))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (/.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 re) im)
(fma.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) re) (/.f64 re (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (/.f64 (*.f64 re re) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (pow.f64 im #s(literal 3/2 binary64)) (/.f64 (pow.f64 im #s(literal 3/2 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) re) (/.f64 (neg.f64 re) im) im)
(fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) (/.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) (/.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) 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 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (/.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re 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 (neg.f64 re) re) im) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 (neg.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) (/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) 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 (*.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal 1/2 binary64) im)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.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)
(fma.f64 (*.f64 im im) (/.f64 im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 im (/.f64 (*.f64 im im) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 re (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) #s(literal 2 binary64)) re) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (*.f64 im im) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))
(-.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) 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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))) (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im)))))
(+.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (+.f64 im (*.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 (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))) im))))
(+.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)))
(+.f64 (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)) im)
(+.f64 im (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 re) im))
(*.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 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) 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))
(*.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 (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 (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))))

eval23.0ms (0.6%)

Memory
20.5MiB live, 66.2MiB allocated; 3ms collecting garbage
Compiler

Compiled 6 390 to 640 computations (90% saved)

prune26.0ms (0.6%)

Memory
-36.2MiB live, 63.0MiB allocated; 12ms collecting garbage
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1622164
Fresh000
Picked112
Done044
Total1637170
Accuracy
100.0%
Counts
170 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
55.8%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
55.8%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.7%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
99.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
1.7%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
3.8%
#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)))
Compiler

Compiled 97 to 64 computations (34% saved)

simplify22.0ms (0.5%)

Memory
12.9MiB live, 58.3MiB allocated; 3ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021112
030106
164106
2208106
3688106
41412106
51607106
0160792
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 #s(literal 1/2 binary64) im) re) re)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
(*.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)
im
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(sqrt.f64 im)
im
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(/.f64 re im)
re
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
Outputs
#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 #s(literal 1/2 binary64) im) re) re))
(*.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)
im
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) im)
(sqrt.f64 im)
im
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(/.f64 re im)
re
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)

localize47.0ms (1.1%)

Memory
-9.5MiB live, 93.0MiB allocated; 8ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sqrt.f64 im)
accuracy0.163287734588277
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
accuracy0.17578125
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
accuracy0.48828125
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
accuracy0.163287734588277
#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)))
accuracy0.17578125
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
accuracy0.23828125
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy61.59729803917021
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
Samples
36.0ms256×0valid
Compiler

Compiled 76 to 18 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-mult: 11.0ms (41.1% of total)
ival-sqrt: 5.0ms (18.7% of total)
ival-hypot: 4.0ms (14.9% of total)
ival-div: 3.0ms (11.2% of total)
ival-add: 2.0ms (7.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
21.0MiB live, 21.0MiB allocated; 0ms collecting garbage
Counts
8 → 31
Calls
Call 1
Inputs
#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 #s(literal 1/2 binary64) im) re) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
(sqrt.f64 im)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* 1/2 (/ (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)
(* 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
2.0ms
im
@-inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) (sqrt (+ (* re re) (* im im))) (sqrt im) (* (/ re im) (* 1/2 re)))
1.0ms
im
@inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) (sqrt (+ (* re re) (* im im))) (sqrt im) (* (/ re im) (* 1/2 re)))
1.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) (sqrt (+ (* re re) (* im im))) (sqrt im) (* (/ re im) (* 1/2 re)))
1.0ms
re
@-inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) (sqrt (+ (* re re) (* im im))) (sqrt im) (* (/ re im) (* 1/2 re)))
1.0ms
im
@0
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) (sqrt (+ (* re re) (* im im))) (sqrt im) (* (/ re im) (* 1/2 re)))

simplify258.0ms (6.2%)

Memory
9.3MiB live, 274.3MiB allocated; 77ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0122450
1362450
21390440
37478440
08767402
Stop Event
iter limit
node limit
Counts
31 → 29
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))
(* 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)
(* 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))
(* 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)
(* 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)

rewrite187.0ms (4.5%)

Memory
-44.4MiB live, 122.7MiB allocated; 54ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02197
03091
110991
289591
0958377
Stop Event
iter limit
node limit
iter limit
Counts
8 → 211
Calls
Call 1
Inputs
#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 #s(literal 1/2 binary64) im) re) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
(sqrt.f64 im)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 re im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (*.f64 re (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (fabs.f64 (*.f64 (/.f64 re im) re)) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (fabs.f64 (/.f64 re (sqrt.f64 im))) (fabs.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im))))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (fabs.f64 (/.f64 re im)))
(*.f64 (fabs.f64 (/.f64 re im)) (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)))
(*.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 re (/.f64 re im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.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)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)))
(*.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 #s(literal -1/2 binary64) (*.f64 re (/.f64 re im)))
(*.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal -1/2 binary64) re))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) 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 #s(literal 1/2 binary64) (fabs.f64 (*.f64 re (/.f64 re im))))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 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 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)))
(*.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 (*.f64 #s(literal 1/2 binary64) 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 (*.f64 #s(literal 1/2 binary64) re) re) im)
(neg.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(fabs.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 re (sqrt.f64 im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 #s(literal -1/2 binary64) (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 re im) #s(literal -1/2 binary64))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(*.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 (*.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (*.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (*.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (fma.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))))))
(/.f64 (-.f64 (*.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im) (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im)))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im) (*.f64 im im))) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)))) (-.f64 (pow.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (*.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))) (pow.f64 im #s(literal 3 binary64)))) (-.f64 (pow.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)) #s(literal 4 binary64)) (pow.f64 (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im im)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(/.f64 (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))))
(neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 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 (neg.f64 re) (/.f64 re im)) #s(literal 1/2 binary64) 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 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(fma.f64 (*.f64 (sqrt.f64 im) (pow.f64 im #s(literal 1/4 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (neg.f64 re) (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) im)
(fma.f64 (*.f64 re (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) im)
(fma.f64 (fabs.f64 (*.f64 (/.f64 re im) re)) #s(literal 1/2 binary64) 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 re (sqrt.f64 im))) (fabs.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im))) im)
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (fabs.f64 (/.f64 re im)) im)
(fma.f64 (fabs.f64 (/.f64 re im)) (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) 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 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(fma.f64 (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (pow.f64 im #s(literal 1/4 binary64)) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(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 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 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 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64) im)
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal -1/2 binary64) im)
(fma.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64) 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)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) im)
(fma.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)) 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) re) (/.f64 re im) im)
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 #s(literal -1/2 binary64) im) im)
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(fma.f64 (pow.f64 im #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 im #s(literal 3/2 binary64))) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(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 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 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 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 #s(literal -1/2 binary64) (*.f64 re (/.f64 re im)) im)
(fma.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (/.f64 re im) (*.f64 #s(literal -1/2 binary64) re) im)
(fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(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 #s(literal 1/2 binary64) (fabs.f64 (*.f64 re (/.f64 re im))) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 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 (fabs.f64 (*.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 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))
(-.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))
(-.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))
(-.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)) im)
(-.f64 im (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(-.f64 im (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))))
(+.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))
(+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)))
(+.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)) im)
(+.f64 im (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) re)) (/.f64 re im)))
(+.f64 im (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 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 (neg.f64 re) (/.f64 re im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 re (sqrt.f64 im)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (*.f64 re (/.f64 re (sqrt.f64 im))) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (fabs.f64 (*.f64 (/.f64 re im) re)) #s(literal 1/2 binary64))
(*.f64 (fabs.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im))) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (fabs.f64 (/.f64 re (sqrt.f64 im))) (fabs.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im))))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (fabs.f64 (/.f64 re im)))
(*.f64 (fabs.f64 (/.f64 re im)) (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)))
(*.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 re (/.f64 re im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.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)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (/.f64 (*.f64 re re) (sqrt.f64 im)))
(*.f64 (/.f64 re (sqrt.f64 im)) (/.f64 (*.f64 #s(literal -1/2 binary64) re) (sqrt.f64 im)))
(*.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 #s(literal -1/2 binary64) (*.f64 re (/.f64 re im)))
(*.f64 (neg.f64 re) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal -1/2 binary64) re))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) 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 #s(literal 1/2 binary64) (fabs.f64 (*.f64 re (/.f64 re im))))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 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 (fabs.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re)))
(*.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 (*.f64 #s(literal 1/2 binary64) 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 (*.f64 #s(literal 1/2 binary64) re) re) im)
(neg.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(fabs.f64 (*.f64 (*.f64 re (/.f64 re im)) #s(literal 1/2 binary64)))

eval32.0ms (0.8%)

Memory
14.9MiB live, 58.5MiB allocated; 8ms collecting garbage
Compiler

Compiled 6 526 to 694 computations (89.4% saved)

prune6.0ms (0.1%)

Memory
24.1MiB live, 24.1MiB allocated; 0ms collecting garbage
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2091210
Fresh000
Picked112
Done235
Total2125217
Accuracy
100.0%
Counts
217 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
55.8%
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
99.7%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
99.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))))
99.1%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) im))
Compiler

Compiled 244 to 96 computations (60.7% saved)

regimes29.0ms (0.7%)

Memory
-33.8MiB live, 68.4MiB allocated; 19ms collecting garbage
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 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 #s(literal 1/2 binary64) im) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
(sqrt.f64 (fma.f64 re re (*.f64 im 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))) (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 re im) (*.f64 #s(literal 1/2 binary64) re))))
(hypot.f64 re im)
Outputs
(hypot.f64 re im)
Calls

6 calls:

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

regimes23.0ms (0.6%)

Memory
25.5MiB live, 73.0MiB allocated; 2ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 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 #s(literal 1/2 binary64) im) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
(sqrt.f64 (fma.f64 re re (*.f64 im 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))) (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 re im) (*.f64 #s(literal 1/2 binary64) 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:

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

Compiled 23 to 21 computations (8.7% saved)

regimes44.0ms (1.1%)

Memory
-11.3MiB live, 35.8MiB allocated; 2ms collecting garbage
Accuracy

Total -62.3b remaining (-11062.1%)

Threshold costs -62.3b (-11062.1%)

Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 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 #s(literal 1/2 binary64) im) re) re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (sqrt im) (sqrt im)) (* (/ re im) (* 1/2 re))) im))
Calls

6 calls:

33.0ms
re
2.0ms
im
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
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)

simplify71.0ms (1.7%)

Memory
3.6MiB live, 50.1MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02040
14640
214840
341540
483840
5132440
6141040
7142240
8145140
9164740
10394340
11785940
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)) (* (/ re im) (* 1/2 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)) (* (/ re im) (* 1/2 re))) im))

derivations599.0ms (14.4%)

Memory
-16.8MiB live, 459.8MiB allocated; 72ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01970
02870
17670
256470
0882570
0104441
1323441
21251437
36235435
08273400
01991
02689
19789
261889
0894679
0122450
1362450
21390440
37478440
08767402
0621
01021
13921
234621
3588921
0819715
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 44 to 21 computations (52.3% saved)

preprocess23.0ms (0.5%)

Memory
41.1MiB live, 41.1MiB allocated; 0ms collecting garbage
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; 0ms collecting garbage

Profiling

Loading profile data...