math.abs on complex

Time bar (total: 4.9s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

sample804.0ms (16.4%)

Memory
1.3MiB live, 1 184.1MiB allocated; 363ms collecting garbage
Samples
568.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 227.0ms
ival-hypot: 215.0ms (94.8% of total)
ival-true: 7.0ms (3.1% of total)
ival-assert: 3.0ms (1.3% of total)
adjust: 2.0ms (0.9% of total)
Bogosity

explain124.0ms (2.5%)

Memory
-7.3MiB live, 135.9MiB allocated; 31ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1160-1(-4.559898639380791e-214 -2.754036372425407e-160)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-(*.f64 re re)
00-0-re
00-0-(*.f64 im im)
00-0-im
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1050
(+.f64 (*.f64 re re) (*.f64 im im))overflow105
(*.f64 re re)overflow61
(*.f64 im im)overflow60
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue100
(+.f64 (*.f64 re re) (*.f64 im im))underflow10
(*.f64 re re)underflow60
(*.f64 im im)underflow62
Confusion
Predicted +Predicted -
+1151
-0140
Precision
1.0
Recall
0.9913793103448276
Confusion?
Predicted +Predicted MaybePredicted -
+11501
-00140
Precision?
1.0
Recall?
0.9913793103448276
Freqs
test
numberfreq
0141
1115
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
32.0ms512×0valid
Compiler

Compiled 58 to 22 computations (62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-hypot: 9.0ms (48.6% of total)
ival-mult: 7.0ms (37.8% of total)
ival-add: 2.0ms (10.8% 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.3%)

Memory
27.9MiB live, 27.9MiB allocated; 0ms collecting garbage
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.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 6 computations (25% saved)

simplify5.0ms (0.1%)

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

localize74.0ms (1.5%)

Memory
-41.3MiB live, 50.0MiB allocated; 12ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 re re)
accuracy0.0
(*.f64 im im)
accuracy0.0078125
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy26.900791081794768
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
50.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-hypot: 4.0ms (45.1% of total)
ival-mult: 3.0ms (33.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
16.2MiB live, 16.2MiB 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.2%)

Memory
17.2MiB live, 255.1MiB allocated; 35ms collecting garbage
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)))))

rewrite148.0ms (3%)

Memory
-18.6MiB live, 174.9MiB allocated; 29ms 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))))

eval124.0ms (2.5%)

Memory
7.2MiB live, 62.4MiB allocated; 8ms collecting garbage
Compiler

Compiled 4 457 to 759 computations (83% saved)

prune17.0ms (0.4%)

Memory
-26.6MiB live, 20.9MiB allocated; 2ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2376243
Fresh000
Picked101
Done000
Total2386244
Accuracy
100.0%
Counts
244 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
58.0%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
58.0%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
56.5%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
93.3%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Compiler

Compiled 142 to 94 computations (33.8% saved)

simplify12.0ms (0.2%)

Memory
43.6MiB live, 43.6MiB allocated; 0ms collecting garbage
Localize:

Found 13 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01988
02882
14682
211782
327082
448882
565482
666782
066782
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(hypot.f64 re im)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re
Outputs
(hypot.f64 re im)
(hypot.f64 im re)
re
im
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
(*.f64 im im)
im
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
#s(literal 1/2 binary64)
im
(*.f64 re re)
re

localize55.0ms (1.1%)

Memory
-34.3MiB live, 151.3MiB allocated; 22ms collecting garbage
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal 1/2 binary64) im)
accuracy0.0
(*.f64 re re)
accuracy0.6527181112321109
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
accuracy3.788533583125449
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
accuracy0.0
(fma.f64 im im (*.f64 re re))
accuracy0.0
(*.f64 re re)
accuracy26.900791081794768
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
accuracy0.0
(*.f64 im im)
accuracy0.9460965327953619
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
accuracy26.900791081794768
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
accuracy0.0
(neg.f64 re)
accuracy62.814993332995655
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0.0
(hypot.f64 re im)
Samples
40.0ms256×0valid
Compiler

Compiled 88 to 15 computations (83% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-div: 8.0ms (31.2% of total)
ival-hypot: 8.0ms (31.2% of total)
ival-mult: 5.0ms (19.5% of total)
ival-add: 3.0ms (11.7% of total)
ival-true: 1.0ms (3.9% of total)
ival-neg: 1.0ms (3.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
22.0MiB live, 22.0MiB 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 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(/.f64 #s(literal 1/2 binary64) im)
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

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

simplify191.0ms (3.9%)

Memory
8.1MiB live, 239.8MiB allocated; 56ms collecting garbage
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))

rewrite165.0ms (3.4%)

Memory
-16.4MiB live, 172.2MiB allocated; 55ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

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

eval36.0ms (0.7%)

Memory
29.7MiB live, 73.4MiB allocated; 11ms collecting garbage
Compiler

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

prune632.0ms (12.9%)

Memory
-134.2MiB live, 67.7MiB allocated; 962ms collecting garbage
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New3112313
Fresh011
Picked145
Done000
Total3127319
Accuracy
100.0%
Counts
319 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
58.0%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
58.0%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
56.5%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
99.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
4.0%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))))
Compiler

Compiled 97 to 63 computations (35.1% saved)

simplify102.0ms (2.1%)

Memory
29.7MiB live, 171.9MiB allocated; 19ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
cost-diff2
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
cost-diff4
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im)
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
024177
036175
170175
2207171
3791157
43197157
56489157
08398141
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 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
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im)
(/.f64 (/.f64 (*.f64 re re) im) im)
(/.f64 (*.f64 re re) im)
(*.f64 re re)
re
im
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
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (fma.f64 im im (*.f64 re re))))
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im))
#s(approx (+ (* re re) (* im im)) (fma.f64 im im (*.f64 re re)))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(fma.f64 im im (*.f64 re re))
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im)
(fma.f64 (/.f64 re im) re im)
(/.f64 (/.f64 (*.f64 re re) im) im)
(/.f64 (*.f64 re re) im)
(*.f64 re re)
re
im

localize100.0ms (2%)

Memory
4.6MiB live, 199.6MiB allocated; 21ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.01171875
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
accuracy3.7063031757217506
(/.f64 (/.f64 (*.f64 re re) im) im)
accuracy7.251989455822015
(/.f64 (*.f64 re re) im)
accuracy26.900791081794768
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
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.234375
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.6527181112321109
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
accuracy0.0078125
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
accuracy0.6527181112321109
#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.251989455822015
(/.f64 (*.f64 re re) im)
accuracy61.40266020543428
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)))
Samples
64.0ms256×0valid
Compiler

Compiled 121 to 21 computations (82.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-mult: 16.0ms (52.6% of total)
ival-div: 5.0ms (16.4% of total)
ival-hypot: 5.0ms (16.4% of total)
ival-add: 4.0ms (13.2% 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)

series30.0ms (0.6%)

Memory
4.6MiB live, 51.4MiB allocated; 2ms collecting garbage
Counts
13 → 40
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)
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im)
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im))
(/.f64 (/.f64 (*.f64 re re) 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)))))
(* 1/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(* 1/2 (/ re im))
(+ im (/ (pow re 2) im))
(pow im 2)
(+ (pow im 2) (pow re 2))
(/ (pow re 2) (pow im 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))))
(* (pow re 2) (+ (/ 1 im) (/ im (pow re 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)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(/ (+ (pow im 2) (pow re 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)))))))
(* im (+ 1 (/ (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)))
(* -1 (* im (- (* -1 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

TimeVariablePointExpression
19.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) im) im) im) im) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ (/ (* re re) im) im))
2.0ms
im
@-inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (/ (* re re) im) 1/2) (/ (* re re) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (+ (* (/ (/ (* re re) im) im) im) im) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ (/ (* re re) im) im))
2.0ms
im
@inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (/ (* re re) im) 1/2) (/ (* re re) im) (sqrt (+ (* re re) (* im im))) (+ (* (* (/ 1/2 im) re) re) im) (* (/ 1/2 im) re) (/ 1/2 im) (+ (* (/ (/ (* re re) im) im) im) im) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ (/ (* re re) im) im))
2.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) im) im) im) im) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ (/ (* re re) im) im))
2.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) im) im) im) im) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (/ (/ (* re re) im) im))

simplify180.0ms (3.7%)

Memory
12.6MiB live, 244.0MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0127547
1384547
21408528
37074528
08826486
Stop Event
iter limit
node limit
Counts
40 → 38
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))
(+ im (/ (pow re 2) im))
(pow im 2)
(+ (pow im 2) (pow re 2))
(/ (pow re 2) (pow im 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))))
(* (pow re 2) (+ (/ 1 im) (/ im (pow re 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)))))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ 1/2 im)
(/ (+ (pow im 2) (pow re 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)))))))
(* im (+ 1 (/ (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)))
(* -1 (* im (- (* -1 (/ (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/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))
(+ im (/ (pow re 2) im))
(fma.f64 (/.f64 re im) re im)
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(/ (pow re 2) (pow im 2))
(/.f64 (/.f64 (*.f64 re re) im) im)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.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)
(* (pow re 2) (+ (/ 1 im) (/ im (pow re 2))))
(*.f64 (fma.f64 (/.f64 im (*.f64 re re)) re (/.f64 re im)) re)
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 im (*.f64 re re)) im #s(literal 1 binary64)) 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)
(/ (+ (pow im 2) (pow re 2)) im)
(fma.f64 (/.f64 re im) re 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)))
(* im (+ 1 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 re im) re im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (fma.f64 (/.f64 re im) re im) im)
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) (neg.f64 im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(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))
(* -1 (* im (- (* -1 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (-.f64 (*.f64 (/.f64 (neg.f64 re) im) (/.f64 re im)) #s(literal 1 binary64)) (neg.f64 im))

rewrite139.0ms (2.8%)

Memory
-50.5MiB live, 243.5MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024158
036156
1129156
2859146
08603134
Stop Event
iter limit
node limit
iter limit
Counts
13 → 250
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)
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im)
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im))
(/.f64 (/.f64 (*.f64 re re) im) im)
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) 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 #s(literal -1/2 binary64) (/.f64 re im)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (neg.f64 re) (*.f64 #s(literal -1/2 binary64) (/.f64 re im)))
(*.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) (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 #s(literal -1/2 binary64) (/.f64 re im))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) re) re)) (neg.f64 (neg.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 #s(literal -1/2 binary64) re) re) (neg.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) im)
(sqrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))
(fabs.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (neg.f64 (neg.f64 re)) (/.f64 re im))
(*.f64 (/.f64 re im) re)
(*.f64 (neg.f64 re) (neg.f64 (/.f64 re im)))
(*.f64 (neg.f64 re) (/.f64 (neg.f64 re) im))
(*.f64 re (neg.f64 (neg.f64 (/.f64 re im))))
(*.f64 re (/.f64 re im))
(/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (neg.f64 (neg.f64 im))))
(/.f64 (*.f64 (neg.f64 re) re) (neg.f64 im))
(/.f64 (*.f64 re re) (neg.f64 (neg.f64 im)))
(/.f64 (*.f64 re re) im)
(neg.f64 (*.f64 (/.f64 re im) (neg.f64 re)))
(fabs.f64 (*.f64 (/.f64 re im) (neg.f64 re)))
(fabs.f64 (/.f64 (*.f64 re re) im))
#s(approx (sqrt (+ (* re 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 re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im))) (*.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 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 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im))))
(/.f64 (-.f64 (*.f64 (/.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 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 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.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 im (+.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 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 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (-.f64 (*.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 re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (fma.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 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 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) 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 im im (fma.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 (pow.f64 (/.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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))) #s(literal 3 binary64))) (fma.f64 (/.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 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 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.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 im (+.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 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 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 im im) (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (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 #s(literal 1/2 binary64) re) (/.f64 re im)) 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))) (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))))
(/.f64 (-.f64 (*.f64 im im) (*.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 (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 #s(literal 1/2 binary64) re) (/.f64 re im)) 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 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.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 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) 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 #s(literal 1/2 binary64) re) (/.f64 re im)) 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 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) 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 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im))))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) re))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im))) (*.f64 re re)))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im) im)
(fma.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) 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 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) re))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (neg.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im))) (*.f64 re re)))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) re))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im))) (*.f64 re re)))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) re))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im))) (*.f64 re re)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) (neg.f64 re) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (neg.f64 re) (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) im)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 re re) (fabs.f64 (/.f64 #s(literal 1/2 binary64) im)) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 re (fabs.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))) im)
(fma.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)) im)
(fma.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) im)
(fma.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) im)
(-.f64 (/.f64 (*.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 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)))
(-.f64 im (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)))
(-.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 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)))) (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 im im (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)) im)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) im) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 im (+.f64 im (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im)))))) (/.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 im (+.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 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 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 im (+.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 #s(literal 1/2 binary64) re) (/.f64 re im)) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)))
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)) im)
(+.f64 im (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im))) re))
(+.f64 im (*.f64 (neg.f64 (neg.f64 (/.f64 #s(literal 1/2 binary64) im))) (*.f64 re re)))
(+.f64 im (*.f64 (neg.f64 (neg.f64 re)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.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)) (neg.f64 (neg.f64 im)))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(/.f64 #s(literal -1/2 binary64) (neg.f64 (neg.f64 (neg.f64 im))))
(/.f64 #s(literal -1/2 binary64) (neg.f64 im))
(/.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 im)))
(/.f64 #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) im)
(*.f64 im (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))) (*.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))) (+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))) (-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (fma.f64 (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 im) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 im im (+.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im (*.f64 (neg.f64 im) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (neg.f64 (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im)))) (neg.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (*.f64 im im))) (*.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (*.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im))) (neg.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(/.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))))
(/.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))) im))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (neg.f64 (neg.f64 im)) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(fma.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))
(fma.f64 (/.f64 im (neg.f64 (neg.f64 im))) (/.f64 (*.f64 re re) im) im)
(fma.f64 (/.f64 im (neg.f64 im)) (*.f64 (/.f64 re im) (neg.f64 re)) im)
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))) im))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (neg.f64 (neg.f64 im)) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 im))) (sqrt.f64 (neg.f64 (neg.f64 im))) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))) im))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (neg.f64 (neg.f64 im)) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))) im))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (neg.f64 (neg.f64 im)) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))
(fma.f64 (/.f64 im im) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 (/.f64 re im) (neg.f64 re)) (/.f64 im (neg.f64 im)) im)
(fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im)
(fma.f64 (/.f64 (*.f64 re re) im) (/.f64 im (neg.f64 (neg.f64 im))) im)
(fma.f64 (/.f64 (*.f64 re re) im) (fabs.f64 (/.f64 im im)) im)
(fma.f64 (/.f64 (*.f64 re re) im) (/.f64 im im) im)
(fma.f64 im (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)
(-.f64 (/.f64 (*.f64 im im) (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))))
(-.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(-.f64 im (*.f64 (/.f64 (/.f64 (*.f64 re re) im) (neg.f64 im)) im))
(-.f64 im (*.f64 (neg.f64 im) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(+.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)
(+.f64 im (*.f64 (neg.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))) im))
(+.f64 im (*.f64 (neg.f64 (neg.f64 im)) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(+.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))
(*.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (*.f64 im im))
(*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)
(*.f64 im (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im))
(/.f64 (-.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (*.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im)) im)) (neg.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))) im)) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im)))) (neg.f64 (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im)))
(/.f64 (neg.f64 (*.f64 im (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))))) (neg.f64 (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im)) im) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(/.f64 (*.f64 (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64))) im) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))
(/.f64 (*.f64 im (-.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 im im))) (-.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(/.f64 (*.f64 im (-.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 3 binary64)))) (fma.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)) (pow.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 im (-.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im))))
(fma.f64 (*.f64 (/.f64 (neg.f64 re) im) (neg.f64 (neg.f64 im))) (*.f64 (/.f64 (neg.f64 re) im) (neg.f64 (neg.f64 im))) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 (neg.f64 re) im) (neg.f64 im)) (*.f64 (/.f64 (neg.f64 re) im) (neg.f64 im)) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 (neg.f64 re) im) im) (*.f64 (/.f64 (neg.f64 re) im) im) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 re (neg.f64 im)) (neg.f64 (neg.f64 im))) (*.f64 (/.f64 re (neg.f64 im)) (neg.f64 (neg.f64 im))) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 re (neg.f64 im)) (neg.f64 im)) (*.f64 (/.f64 re (neg.f64 im)) (neg.f64 im)) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 re (neg.f64 im)) im) (*.f64 (/.f64 re (neg.f64 im)) im) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 re im) (neg.f64 (neg.f64 im))) (*.f64 (/.f64 re im) (neg.f64 (neg.f64 im))) (*.f64 im im))
(fma.f64 (*.f64 (/.f64 re im) (neg.f64 im)) (*.f64 (/.f64 re im) (neg.f64 im)) (*.f64 im im))
(fma.f64 (neg.f64 (neg.f64 (neg.f64 im))) (neg.f64 (neg.f64 (neg.f64 im))) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 (*.f64 (/.f64 re im) im) (*.f64 (/.f64 re im) im) (*.f64 im im))
(fma.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 (neg.f64 (neg.f64 im)) im (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im (*.f64 im im))
(fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) (*.f64 im im) (*.f64 im im))
(fma.f64 im (neg.f64 (neg.f64 im)) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(fma.f64 im (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) (*.f64 im im))
(fma.f64 im im (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 im im) (*.f64 (/.f64 (/.f64 (*.f64 re re) im) (neg.f64 im)) (*.f64 im im)))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (*.f64 im im)))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 im) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im)))
(-.f64 (*.f64 im im) (*.f64 (*.f64 (neg.f64 im) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) im))
(+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im) im))
(*.f64 (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im)))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im))) #s(literal 1/2 binary64))))
#s(approx (+ (* re re) (* im im)) (*.f64 (fma.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) im im) im))
(*.f64 (/.f64 (neg.f64 (neg.f64 re)) im) (/.f64 (neg.f64 (neg.f64 re)) im))
(*.f64 (/.f64 (neg.f64 (neg.f64 re)) im) (/.f64 re im))
(*.f64 (/.f64 re (neg.f64 (neg.f64 im))) (/.f64 re (neg.f64 (neg.f64 im))))
(*.f64 (neg.f64 (/.f64 (neg.f64 re) im)) (neg.f64 (/.f64 (neg.f64 re) im)))
(*.f64 (neg.f64 (/.f64 re (neg.f64 im))) (neg.f64 (/.f64 re (neg.f64 im))))
(*.f64 (neg.f64 (/.f64 re im)) (neg.f64 (/.f64 re im)))
(*.f64 (/.f64 (neg.f64 re) im) (/.f64 (neg.f64 re) im))
(*.f64 (/.f64 (neg.f64 re) im) (/.f64 re (neg.f64 im)))
(*.f64 (/.f64 re (neg.f64 im)) (/.f64 (neg.f64 re) im))
(*.f64 (/.f64 re (neg.f64 im)) (/.f64 re (neg.f64 im)))
(*.f64 (/.f64 re im) (/.f64 (neg.f64 (neg.f64 re)) im))
(*.f64 (/.f64 re im) (/.f64 re im))
(*.f64 (neg.f64 re) (/.f64 re (*.f64 (neg.f64 im) im)))
(*.f64 re (/.f64 (/.f64 re im) im))
(*.f64 re (/.f64 re (*.f64 im im)))
(pow.f64 (/.f64 (neg.f64 re) im) #s(literal 2 binary64))
(pow.f64 (/.f64 re (neg.f64 im)) #s(literal 2 binary64))
(pow.f64 (/.f64 re im) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) im))
(/.f64 (*.f64 (/.f64 re im) (neg.f64 re)) (neg.f64 (neg.f64 (neg.f64 im))))
(/.f64 (*.f64 (/.f64 re im) (neg.f64 re)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 re re) im) (neg.f64 (neg.f64 im)))
(/.f64 (/.f64 (*.f64 re re) im) im)
(/.f64 (*.f64 re re) (*.f64 im im))
(neg.f64 (/.f64 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(fabs.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)))
(exp.f64 (-.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) (*.f64 (log.f64 im) #s(literal 2 binary64))))

eval67.0ms (1.4%)

Memory
19.8MiB live, 111.6MiB allocated; 8ms collecting garbage
Compiler

Compiled 9 647 to 1 249 computations (87.1% saved)

prune13.0ms (0.3%)

Memory
-10.7MiB live, 35.4MiB allocated; 3ms collecting garbage
Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New2954299
Fresh000
Picked213
Done044
Total2979306
Accuracy
100.0%
Counts
306 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
58.0%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
58.0%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
56.5%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
4.8%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
99.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
4.1%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
4.1%
#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 157 to 96 computations (38.9% saved)

simplify203.0ms (4.1%)

Memory
15.1MiB live, 165.6MiB allocated; 37ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
cost-diff0
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
cost-diff0
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
cost-diff0
(*.f64 re re)
cost-diff0
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
cost-diff0
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
cost-diff0
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
cost-diff0
(*.f64 (/.f64 re im) re)
cost-diff0
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #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 im) re) #s(literal 1/2 binary64))))
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
034300
045300
182300
2225286
3837262
43221262
56527262
08428241
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #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))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) re)
(/.f64 re im)
re
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
(*.f64 re re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
(fma.f64 (/.f64 re im) re im)
(/.f64 re im)
re
im
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 (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re 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 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 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
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) re)
(/.f64 re im)
re
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (+ (* re re) (* im im)) (*.f64 re re))))
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
#s(approx (+ (* re re) (* im im)) #s(approx (+ (* re re) (* im im)) (*.f64 re re)))
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
#s(approx (+ (* re re) (* im im)) (*.f64 re re))
(*.f64 re re)
re
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
(fma.f64 (/.f64 re im) re im)
(/.f64 re im)
re
im

localize118.0ms (2.4%)

Memory
-16.5MiB live, 83.5MiB allocated; 18ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
accuracy0.0
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
accuracy0.01171875
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
accuracy26.900791081794768
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
accuracy0.0
(*.f64 re re)
accuracy0.0
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
accuracy26.900791081794768
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
accuracy54.94275066396511
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
accuracy0.0078125
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
accuracy0.140625
(*.f64 (/.f64 re im) re)
accuracy0.6527181112321109
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
accuracy61.40266020543428
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
accuracy0.14453125
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re)
accuracy0.234375
(*.f64 (/.f64 #s(literal 1/2 binary64) im) re)
accuracy0.6527181112321109
#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)))
accuracy61.40266020543428
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re))
Samples
41.0ms256×0valid
Compiler

Compiled 155 to 23 computations (85.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 12.0ms (43.1% of total)
ival-div: 6.0ms (21.5% of total)
ival-add: 4.0ms (14.4% of total)
ival-hypot: 4.0ms (14.4% 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
26.2MiB live, 26.2MiB allocated; 0ms collecting garbage
Counts
16 → 38
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)
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
(*.f64 re re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ re im))
(/ (pow re 2) im)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
(+ im (/ (pow re 2) 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))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 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)
(/ (+ (pow im 2) (pow re 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))))
(* im (+ 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)))
(* -1 (* im (- (* -1 (/ (pow re 2) (pow im 2))) 1)))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ re im) re) 1/2) (* (/ re im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (+ (* (/ (/ (* re re) im) im) im) im))
2.0ms
re
@inf
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ re im) re) 1/2) (* (/ re im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (+ (* (/ (/ (* re re) im) im) im) im))
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 (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ re im) re) 1/2) (* (/ re im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (+ (* (/ (/ (* re re) im) im) im) im))
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 (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ re im) re) 1/2) (* (/ re im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (+ (* (/ (/ (* re re) im) im) im) im))
1.0ms
re
@0
((sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ 1/2 im) re) re) (* (/ 1/2 im) re) (sqrt (+ (* re re) (* im im))) (+ (* (/ 1/2 im) (* re re)) im) (* (* (/ re im) re) 1/2) (* (/ re im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (* re re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)) (* (+ (* (/ (/ (* re re) im) im) im) im) im) (+ (* (/ (/ (* re re) im) im) im) im))

simplify234.0ms (4.8%)

Memory
-14.0MiB live, 215.3MiB allocated; 35ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126537
1384537
21405518
37062518
08814476
Stop Event
iter limit
node limit
Counts
38 → 36
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))
(/ (pow re 2) im)
(pow im 2)
(+ (pow im 2) (pow re 2))
(pow re 2)
(+ im (/ (pow re 2) 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))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 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)
(/ (+ (pow im 2) (pow re 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))))
(* im (+ 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)))
(* -1 (* im (- (* -1 (/ (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/2 (/ (pow re 2) im))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(/ (pow re 2) im)
(/.f64 (*.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)
(+ im (/ (pow re 2) im))
(fma.f64 (/.f64 re im) re im)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 im (*.f64 re re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (/.f64 (*.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)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 im (*.f64 re re)) im #s(literal 1 binary64)) re) re)
(* (pow re 2) (+ (/ 1 im) (/ im (pow re 2))))
(*.f64 (fma.f64 (/.f64 im (*.f64 re re)) re (/.f64 re im)) 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)
(/ (+ (pow im 2) (pow re 2)) im)
(fma.f64 (/.f64 re im) re 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))))
(*.f64 (fma.f64 (/.f64 re im) re im) im)
(* im (+ 1 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 re im) 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) (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))
(* -1 (* im (- (* -1 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (-.f64 (*.f64 (/.f64 (neg.f64 re) im) (/.f64 re im)) #s(literal 1 binary64)) (neg.f64 im))

rewrite212.0ms (4.3%)

Memory
-13.2MiB live, 134.3MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034276
045276
1140276
21001262
08805237
Stop Event
iter limit
node limit
iter limit
Counts
16 → 160
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)
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
(*.f64 re re)
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))
Outputs
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re))) re)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (fabs.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) (fabs.f64 (*.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) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re im) re))
(*.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 (neg.f64 re) (/.f64 #s(literal 1/2 binary64) im))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))) (neg.f64 (neg.f64 im)))
(/.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re))) im)
(/.f64 (fabs.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64))) im)
(/.f64 (fabs.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re))) im)
(/.f64 (fabs.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64))) im)
(/.f64 (fabs.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re))) im)
(/.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re))) im)
(/.f64 (fabs.f64 (neg.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 #s(literal -1/2 binary64) (*.f64 re re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64)) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re)) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) im)
(sqrt.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))))
(fabs.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(fabs.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.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)) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 re #s(literal -1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 (neg.f64 im)))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
#s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re))) re)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (fabs.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re))
(*.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) (neg.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))
(*.f64 (/.f64 re im) (fabs.f64 (*.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) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re im) re))
(*.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 (neg.f64 re) (/.f64 #s(literal 1/2 binary64) im))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64))))
(*.f64 re (fabs.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) im) re))
(/.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re))) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re))) (neg.f64 (neg.f64 im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))) (neg.f64 (neg.f64 im)))
(/.f64 (fabs.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re))) im)
(/.f64 (fabs.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64))) im)
(/.f64 (fabs.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re))) im)
(/.f64 (fabs.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64))) im)
(/.f64 (fabs.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re))) im)
(/.f64 (fabs.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re))) im)
(/.f64 (fabs.f64 (neg.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 #s(literal -1/2 binary64) (*.f64 re re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (neg.f64 re) re) #s(literal 1/2 binary64)) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 re) (*.f64 #s(literal 1/2 binary64) re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 (*.f64 re (*.f64 #s(literal 1/2 binary64) re)) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 re) re)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) im)
(sqrt.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64))))
(fabs.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(fabs.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
(*.f64 (neg.f64 re) (/.f64 (neg.f64 re) im))
(*.f64 (/.f64 re im) re)
(*.f64 re (/.f64 re im))
(/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (neg.f64 (neg.f64 im))))
(/.f64 (*.f64 (neg.f64 re) re) (neg.f64 im))
(/.f64 (*.f64 re re) (neg.f64 (neg.f64 im)))
(/.f64 (*.f64 re re) im)
(neg.f64 (*.f64 (neg.f64 re) (/.f64 re im)))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 re im) re) #s(literal 2 binary64)))
(fabs.f64 (*.f64 (neg.f64 re) (/.f64 re im)))
(fabs.f64 (*.f64 (/.f64 re im) re))
(*.f64 (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))) #s(literal 1/2 binary64))))
#s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re)))
#s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))
(*.f64 (neg.f64 (neg.f64 (neg.f64 re))) (neg.f64 (neg.f64 (neg.f64 re))))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.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 (neg.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))))
(*.f64 (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))) #s(literal 1/2 binary64))))
#s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im))
(*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)
(*.f64 im #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)))
#s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im))

eval15.0ms (0.3%)

Memory
15.8MiB live, 15.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 4 298 to 557 computations (87% saved)

prune9.0ms (0.2%)

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

9 alts after pruning (0 fresh and 9 done)

PrunedKeptTotal
New1440144
Fresh000
Picked044
Done055
Total1449153
Accuracy
100.0%
Counts
153 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 re im)
58.0%
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
58.0%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 #s(approx (+ (* (/ (/ (* re re) im) im) im) im) (fma.f64 (/.f64 re im) re im)) im)))
56.5%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
4.8%
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
99.0%
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
1.9%
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
4.1%
#s(approx (sqrt (+ (* re re) (* im im))) #s(approx (+ (* (/ 1/2 im) (* re re)) im) (*.f64 (*.f64 (/.f64 re im) re) #s(literal 1/2 binary64))))
4.1%
#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 386 to 154 computations (60.1% saved)

regimes62.0ms (1.3%)

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

6 calls:

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

regimes47.0ms (1%)

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

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

regimes15.0ms (0.3%)

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

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

regimes14.0ms (0.3%)

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

6 calls:

2.0ms
im
2.0ms
re
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
56.5%1(*.f64 re re)
56.5%1re
56.5%1im
56.5%1(*.f64 im im)
56.5%1(+.f64 (*.f64 re re) (*.f64 im im))
56.5%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 23 to 21 computations (8.7% saved)

regimes34.0ms (0.7%)

Memory
-38.7MiB live, 8.9MiB allocated; 1ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
Outputs
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
Calls

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

regimes6.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

6 calls:

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

Compiled 23 to 21 computations (8.7% saved)

simplify39.0ms (0.8%)

Memory
34.5MiB live, 34.5MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02876
15476
215374
364070
4299170
Stop Event
node limit
Calls
Call 1
Inputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
Outputs
(hypot.f64 re im)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re im))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) (*.f64 im im)))
(sqrt.f64 #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 im im)))
(sqrt.f64 #s(approx (+ (* re re) (* im im)) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
(sqrt.f64 #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) #s(approx (* (+ (* (/ (/ (* re re) im) im) im) im) im) (*.f64 re re))))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))

derivations623.0ms (12.7%)

Memory
-46.6MiB live, 343.8MiB allocated; 32ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0127547
1384547
21408528
37074528
08826486
0104441
1323441
21251437
36235435
08273400
0621
01021
13921
234621
3588921
0819715
01976
02870
18770
272070
0983670
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 88 to 28 computations (68.2% saved)

preprocess63.0ms (1.3%)

Memory
15.1MiB live, 67.6MiB allocated; 8ms collecting garbage
Remove

(sort re im)

(abs re)

(abs im)

Compiler

Compiled 246 to 122 computations (50.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...