math.sqrt on complex, real part

Time bar (total: 6.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze94.0ms (1.5%)

Memory
6.2MiB live, 163.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
62.5%62.4%37.5%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
68.8%68.7%31.2%0.1%0%0%0%7
68.8%68.7%31.2%0.1%0%0%0%8
71.9%71.8%28.1%0.1%0%0%0%9
71.9%71.8%28.1%0.1%0%0%0%10
73.4%73.4%26.5%0.1%0%0%0%11
73.4%73.4%26.5%0.1%0%0%0%12
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample1.4s (22.9%)

Memory
49.4MiB live, 1 881.4MiB allocated
Samples
550.0ms6 275×0valid
239.0ms817×2valid
134.0ms421×3valid
98.0ms743×1valid
Precisions
Click to see histograms. Total time spent on operations: 753.0ms
ival-hypot: 330.0ms (43.8% of total)
ival-mult: 174.0ms (23.1% of total)
ival-add: 99.0ms (13.2% of total)
ival-sqrt: 95.0ms (12.6% of total)
adjust: 39.0ms (5.2% of total)
exact: 7.0ms (0.9% of total)
ival-true: 6.0ms (0.8% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain280.0ms (4.5%)

Memory
24.0MiB live, 257.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1130-0-(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3132(-8.655678631145777e+304 9.544218518214059e-23)0-(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
240-24(-8.779577306528784e-119 -1.3619388109559005e-302)(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
00-0-(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
00-0-(*.f64 re re)
00-0-im
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-#s(literal 2 binary64)
00-0-(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
00-0-re
00-0-#s(literal 1/2 binary64)
00-0-(*.f64 im im)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1000
(+.f64 (*.f64 re re) (*.f64 im im))overflow100
(*.f64 re re)overflow67
(*.f64 im im)overflow51
+.f64(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation630
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue130
(+.f64 (*.f64 re re) (*.f64 im im))underflow13
(*.f64 re re)underflow61
(*.f64 im im)underflow69
Confusion
Predicted +Predicted -
+1390
-2115
Precision
0.9858156028368794
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13900
-20115
Precision?
0.9858156028368794
Recall?
1.0
Freqs
test
numberfreq
0115
1106
235
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
25.138671875
Average Time
0.09819793701171875
Samples
24.0ms18×3valid
17.0ms193×0valid
5.0ms20×2valid
4.0ms25×1valid
Compiler

Compiled 242 to 57 computations (76.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-hypot: 8.0ms (35.2% of total)
ival-mult: 7.0ms (30.8% of total)
ival-add: 3.0ms (13.2% of total)
adjust: 2.0ms (8.8% of total)
ival-sqrt: 2.0ms (8.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess94.0ms (1.5%)

Memory
-62.5MiB live, 10.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03075
19475
216975
325975
439675
552375
664575
774575
877375
01215
02015
13015
23215
03210
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
Symmetry

(abs im)

Compiler

Compiled 15 to 12 computations (20% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify3.0ms (0.1%)

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

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01275
02075
13075
23275
03249
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
#s(literal 2 binary64)
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(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
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
#s(literal 2 binary64)
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 (hypot.f64 im re) re)
(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

localize52.0ms (0.8%)

Memory
3.3MiB live, 40.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy5.063430025402172
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
accuracy7.3742690445918315
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
accuracy26.2894258444421
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
26.0ms193×0valid
7.0ms20×2valid
6.0ms18×3valid
4.0ms25×1valid
Compiler

Compiled 152 to 26 computations (82.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-hypot: 9.0ms (37.8% of total)
ival-mult: 7.0ms (29.4% of total)
ival-add: 3.0ms (12.6% of total)
adjust: 2.0ms (8.4% of total)
ival-sqrt: 2.0ms (8.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series19.0ms (0.3%)

Memory
22.8MiB live, 22.8MiB allocated
Counts
6 → 113
Calls
Call 1
Inputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Outputs
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
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)))))
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 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)))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ 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 im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -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 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
Calls

6 calls:

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

simplify215.0ms (3.4%)

Memory
-11.9MiB live, 140.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05002884
116592707
259102687
080802521
Stop Event
iter limit
node limit
Counts
113 → 111
Calls
Call 1
Inputs
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
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)))))
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 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)))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ 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 im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -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 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
Outputs
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 re #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* 2 im) (* 2 re))
(*.f64 (+.f64 im re) #s(literal 2 binary64))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(+ im re)
(+.f64 im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) re #s(literal 1 binary64)) re im)
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) re #s(literal 1 binary64)) re im)
(pow re 2)
(*.f64 re 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 (* (sqrt re) (pow (sqrt 2) 2)))
(sqrt.f64 re)
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/64 binary64))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* (sqrt re) (pow (sqrt 2) 2))
(*.f64 (sqrt.f64 re) #s(literal 2 binary64))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/32 binary64))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* 4 re)
(*.f64 #s(literal 4 binary64) re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 re re) (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64)))) re re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re)
(* 2 re)
(*.f64 #s(literal 2 binary64) re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #s(literal 2 binary64)) re)
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #s(literal 2 binary64))) re)
(* re (+ 2 (+ (* -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 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal 1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 im (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/512 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/256 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* -1 (/ (pow im 2) re))
(*.f64 (neg.f64 im) (/.f64 im re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (*.f64 im im)) (neg.f64 re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (neg.f64 re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(/.f64 (fma.f64 (neg.f64 (pow.f64 im #s(literal 8 binary64))) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im)))) (neg.f64 re))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #s(literal 1 binary64)))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) 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))))))))
(neg.f64 (fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re))
(* -1/2 (/ (pow im 2) re))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re))) (neg.f64 re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 im #s(literal 8 binary64)) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64)))))) (neg.f64 re))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 im im)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/4 binary64) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 4 re) (/ (pow im 2) re))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/8 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) #s(literal 1 binary64)) im) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) im)
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/16 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ 2 (* 2 (/ re im))))
(*.f64 (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)) im)
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64))) im)
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (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/4 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) 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 im) re) 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)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))))) im im)
(* im (+ 1 (/ re im)))
(fma.f64 (/.f64 re im) im im)
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(fma.f64 (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) im) #s(literal 1/2 binary64) (/.f64 re im)) im im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(fma.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 im) re) im) #s(literal 1/2 binary64) (/.f64 re im))) im im)
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) re (/.f64 (*.f64 #s(literal -3/16 binary64) (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))) (pow.f64 im #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -3/8 binary64) (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))) (pow.f64 im #s(literal 3 binary64))))))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 #s(literal -2 binary64) (/.f64 re im) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 (/.f64 (neg.f64 re) im) re (*.f64 #s(literal 2 binary64) re)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) re (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (/.f64 #s(literal -1/4 binary64) im) (*.f64 re re)) (neg.f64 im))) im)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(* -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 im) re) 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))))))))
(neg.f64 (fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))))) im im))
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(fma.f64 (/.f64 re im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(fma.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 re im) re) re) im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(fma.f64 (/.f64 (-.f64 re (/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) im)) im) im (neg.f64 im))

rewrite575.0ms (9.2%)

Memory
3.9MiB live, 198.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01265
02065
16165
239865
3422565
0834438
Stop Event
iter limit
node limit
iter limit
Counts
6 → 285
Calls
Call 1
Inputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Outputs
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (pow.f64 (*.f64 im (hypot.f64 im re)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 im re)) (+.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))
(*.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (hypot.f64 im re) (hypot.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 4 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 im re)) (-.f64 re im))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (hypot.f64 im re)) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 im re)) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (hypot.f64 im re) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (fma.f64 im im (*.f64 (neg.f64 re) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 (neg.f64 re) re)))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(neg.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (pow.f64 (*.f64 im (hypot.f64 im re)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re re (*.f64 im im))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 (neg.f64 re) re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 (neg.f64 re) re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))
(fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 (hypot.f64 im re) re)))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 im re) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (+.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (sqrt.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3/2 binary64)))) (sqrt.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 im re) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (+.f64 (hypot.f64 im re) re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) (sqrt.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re)))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))))
(/.f64 (sqrt.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64)))))))
(sqrt.f64 (exp.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(exp.f64 (fma.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(exp.f64 (fma.f64 (log.f64 (+.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (log.f64 (+.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (+.f64 (hypot.f64 im re) re))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) #s(literal 2 binary64)))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (-.f64 re (hypot.f64 im re)) re)))
(*.f64 (/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) (-.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(*.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (pow.f64 (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64))))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (/.f64 #s(literal 2 binary64) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (*.f64 (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (hypot.f64 im re) re))
(pow.f64 (/.f64 (-.f64 (hypot.f64 im re) re) (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (-.f64 re (hypot.f64 im re)))
(/.f64 (*.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 2 binary64)) (neg.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) #s(literal 2 binary64)) (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (-.f64 re (hypot.f64 im re)))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (neg.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 re re)) (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) (neg.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64))) (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re)))) (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))) (neg.f64 (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64)))))))
(/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re))) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (fma.f64 #s(literal 4 binary64) (*.f64 re re) (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (hypot.f64 im re) re) (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) (-.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 4 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))))
(/.f64 #s(literal 2 binary64) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (hypot.f64 im re))) (sqrt.f64 (hypot.f64 im re)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (*.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (hypot.f64 im re) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) (hypot.f64 im re) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) re (*.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fma.f64 re #s(literal 2 binary64) (*.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 re re)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))))
(+.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(+.f64 (*.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 8 binary64)) #s(literal 1/8 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (fma.f64 im im (*.f64 (neg.f64 re) re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re im)
(exp.f64 (fma.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 im re))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 1 binary64)))
(exp.f64 (log.f64 (hypot.f64 im re)))
(*.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) #s(literal 2 binary64)))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (-.f64 re (hypot.f64 im re)) re)))
(*.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) (-.f64 (*.f64 (-.f64 re (hypot.f64 im re)) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(*.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (+.f64 (hypot.f64 im re) re))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (-.f64 re (hypot.f64 im re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))
(*.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (-.f64 (hypot.f64 im re) re)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 im re) re))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(*.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (+.f64 (hypot.f64 im re) re) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(*.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 im re) re) (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) (/.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re)))
(*.f64 (+.f64 (hypot.f64 im re) re) (*.f64 (-.f64 (hypot.f64 im re) re) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64))))
(pow.f64 (/.f64 (-.f64 re (hypot.f64 im re)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 9 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 9 binary64))) (pow.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) #s(literal 2 binary64)) (pow.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) #s(literal 3 binary64)) (pow.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (-.f64 re (hypot.f64 im re))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 (hypot.f64 im re) re))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) (-.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 9 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64))) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 (-.f64 (hypot.f64 im re) re) (*.f64 re re))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 (hypot.f64 im re) re) (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 re (hypot.f64 im re)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 (-.f64 (hypot.f64 im re) re) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 (+.f64 (pow.f64 re #s(literal 9 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 9 binary64))) (*.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64)))))
(/.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (-.f64 (hypot.f64 im re) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 re (hypot.f64 im re)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (hypot.f64 im re) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (-.f64 (hypot.f64 im re) re)))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)))) (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (-.f64 (hypot.f64 im re) re))))
(neg.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (neg.f64 (fma.f64 (-.f64 re (hypot.f64 im re)) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (+.f64 (hypot.f64 im re) re) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 im re))
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)) re)
(fma.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (-.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(fma.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (-.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(fma.f64 (hypot.f64 im re) (/.f64 (hypot.f64 im re) (-.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 im re))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 re (hypot.f64 im re))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) #s(literal -1 binary64)))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))
(+.f64 (hypot.f64 im re) re)
(+.f64 re (hypot.f64 im re))

eval87.0ms (1.4%)

Memory
-1.9MiB live, 114.3MiB allocated
Compiler

Compiled 11 518 to 2 381 computations (79.3% saved)

prune14.0ms (0.2%)

Memory
3.2MiB live, 41.5MiB allocated
Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New38313396
Fresh000
Picked101
Done000
Total38413397
Accuracy
92.2%
Counts
397 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
48.4%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
7.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
52.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* re re) (* im im))) re) (+.f64 im re)))))
15.7%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))))))
49.0%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))))
27.7%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
29.7%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re))))
18.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re)))))
48.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
48.6%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))))
48.2%
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))))
29.7%
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
Compiler

Compiled 548 to 410 computations (25.2% saved)

simplify52.0ms (0.8%)

Memory
23.6MiB live, 60.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 18 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038280
063224
193224
2104224
3106224
4108224
5112224
6139224
7192224
8216224
9261224
10347224
11412224
12552224
13729224
14861224
15984224
161154224
171303224
181306224
191320224
201332224
01332224
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(+.f64 (hypot.f64 im re) re)
(hypot.f64 im re)
im
re
#s(literal 2 binary64)
#s(literal 1/2 binary64)
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(sqrt.f64 re)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
#s(literal 2 binary64)
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
#s(literal 4 binary64)
re
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
#s(literal 2 binary64)
(+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
re
(*.f64 im im)
im
Outputs
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
(+.f64 (hypot.f64 im re) re)
(+.f64 (hypot.f64 re im) re)
(hypot.f64 im re)
(hypot.f64 re im)
im
re
#s(literal 2 binary64)
#s(literal 1/2 binary64)
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(sqrt.f64 re)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(sqrt.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))
#s(literal 2 binary64)
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
#s(literal 4 binary64)
re
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
(*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
#s(literal 2 binary64)
(+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
(+.f64 (hypot.f64 re im) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(hypot.f64 re im)
(fma.f64 re re (*.f64 im im))
re
(*.f64 im im)
im

localize147.0ms (2.4%)

Memory
-31.8MiB live, 218.4MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(fma.f64 re re (*.f64 im im))
accuracy0.00390625
(+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
accuracy0.00390625
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
accuracy11.676487282049694
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
accuracy0.00390625
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
accuracy0.00390625
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
accuracy3.101829708071749
(/.f64 (*.f64 im im) re)
accuracy12.167644493348316
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
accuracy0
(neg.f64 re)
accuracy0.00390625
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
accuracy0.00390625
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
accuracy30.807354680247645
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
accuracy0
(sqrt.f64 re)
accuracy12.213902212939661
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
accuracy0
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
accuracy0
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
accuracy0.00390625
(+.f64 (hypot.f64 im re) re)
accuracy0.00390625
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
Samples
39.0ms131×0invalid
22.0ms125×0valid
Compiler

Compiled 567 to 65 computations (88.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-div: 15.0ms (33.5% of total)
ival-hypot: 10.0ms (22.4% of total)
ival-mult: 9.0ms (20.1% of total)
ival-sqrt: 5.0ms (11.2% of total)
ival-add: 4.0ms (8.9% of total)
ival-neg: 1.0ms (2.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series14.0ms (0.2%)

Memory
21.3MiB live, 21.3MiB allocated
Counts
23 → 119
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(+.f64 (hypot.f64 im re) re)
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(sqrt.f64 re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
(+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(/.f64 (*.f64 im im) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(sqrt re)
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -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
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(+ 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/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) 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
3.0ms
re
@-inf
((* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (+ (sqrt (+ (* im im) (* re re))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* 4 re) (/ (* im im) re)) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (neg re) (/ (* im im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)))
2.0ms
re
@inf
((* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (+ (sqrt (+ (* im im) (* re re))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* 4 re) (/ (* im im) re)) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (neg re) (/ (* im im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)))
2.0ms
re
@0
((* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (+ (sqrt (+ (* im im) (* re re))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* 4 re) (/ (* im im) re)) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (neg re) (/ (* im im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)))
2.0ms
im
@0
((* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (+ (sqrt (+ (* im im) (* re re))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* 4 re) (/ (* im im) re)) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (neg re) (/ (* im im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)))
2.0ms
im
@inf
((* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (+ (sqrt (+ (* im im) (* re re))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* 4 re) (/ (* im im) re)) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (neg re) (/ (* im im) re) (sqrt (+ (* re re) (* im im))) (+ (* re re) (* im im)))

simplify186.0ms (3%)

Memory
-5.9MiB live, 183.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05142925
116992753
260362734
081982566
Stop Event
iter limit
node limit
Counts
119 → 117
Calls
Call 1
Inputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(sqrt re)
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* -1 re)
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -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
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(+ 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/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) 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
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(fma.f64 (fma.f64 (*.f64 re #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 re #s(literal 1/8 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* 2 im) (* 2 re))
(*.f64 (+.f64 re im) #s(literal 2 binary64))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
im
(+ im re)
(+.f64 re im)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) re #s(literal 1 binary64)) re im)
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) re #s(literal 1 binary64)) re im)
(sqrt re)
(sqrt.f64 re)
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im))
(* -1 re)
(neg.f64 re)
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 re re (*.f64 im im))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(sqrt.f64 re)
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/64 binary64))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* (sqrt re) (pow (sqrt 2) 2))
(*.f64 (sqrt.f64 re) #s(literal 2 binary64))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/32 binary64))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* 4 re)
(*.f64 #s(literal 4 binary64) re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(* 2 re)
(*.f64 #s(literal 2 binary64) re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64)) re)
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64))) re)
(* re (+ 2 (+ (* -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 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64))) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re)
(pow re 2)
(*.f64 re 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 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal 1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 im (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/512 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/256 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* -1 (/ (pow im 2) re))
(*.f64 (neg.f64 im) (/.f64 im re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (*.f64 im im)) (neg.f64 re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (neg.f64 re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(/.f64 (fma.f64 (neg.f64 (pow.f64 im #s(literal 8 binary64))) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im)))) (neg.f64 re))
(* -1/2 (/ (pow im 2) re))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re))) (neg.f64 re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 im #s(literal 8 binary64)) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64)))))) (neg.f64 re))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(sqrt.f64 re)
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(*.f64 (-.f64 #s(literal -4 binary64) (/.f64 (/.f64 (*.f64 im im) re) re)) (neg.f64 re))
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64)) (neg.f64 re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 1 binary64))) (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))))))))
(neg.f64 (fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/4 binary64) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 4 re) (/ (pow im 2) re))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/8 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) im)
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/16 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ 2 (* 2 (/ re im))))
(*.f64 (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)) im)
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64))) im)
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (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/4 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))) im)
(* im (+ 1 (/ re im)))
(fma.f64 (/.f64 re im) im im)
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(fma.f64 (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) im) #s(literal 1/2 binary64) (/.f64 re im)) im im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(fma.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 im) re) im) #s(literal 1/2 binary64) (/.f64 re im))) im im)
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 re im) im) #s(literal 4 binary64) (/.f64 #s(literal 1 binary64) re)) im) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) 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 im) re) 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)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))))) im im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) #s(literal 1 binary64)) im) im)
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) re (/.f64 (*.f64 #s(literal -3/16 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 im))) (pow.f64 im #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -3/8 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 im))) (pow.f64 im #s(literal 3 binary64))))))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 #s(literal -2 binary64) (/.f64 re im) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 (/.f64 (neg.f64 re) im) re (*.f64 #s(literal 2 binary64) re)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) re (/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (*.f64 re re)) (neg.f64 im))) im)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(fma.f64 (/.f64 re im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(fma.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 re im) re) re) im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(fma.f64 (/.f64 (-.f64 re (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (/.f64 #s(literal -1/8 binary64) im) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) im)) im) im (neg.f64 im))
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(* -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 im) re) 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))))))))
(neg.f64 (fma.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))))) im im))

rewrite211.0ms (3.4%)

Memory
0.9MiB live, 194.6MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038255
063199
1184198
21013198
08506198
Stop Event
iter limit
node limit
iter limit
Counts
23 → 627
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(+.f64 (hypot.f64 im re) re)
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(sqrt.f64 re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
(+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(/.f64 (*.f64 im im) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (+.f64 (hypot.f64 re im) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))) (sqrt.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(/.f64 (sqrt.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re)) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (*.f64 (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 (hypot.f64 re im) re))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (hypot.f64 re im) re) (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (hypot.f64 re im) re) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re)) (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))) (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))))
(/.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (hypot.f64 re im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) (hypot.f64 re im) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) re (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(fma.f64 re #s(literal 2 binary64) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))) (/.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(+.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(+.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re (hypot.f64 re im))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re))
(*.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 re im) re) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 (hypot.f64 re im) re) (*.f64 (-.f64 (hypot.f64 re im) re) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))) (+.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (fma.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (neg.f64 (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (*.f64 re re))) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 re (hypot.f64 re im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 (hypot.f64 re im) re)))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(neg.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 1/2 binary64)) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 1/2 binary64)) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) re)
(fma.f64 #s(literal -1 binary64) (neg.f64 re) (hypot.f64 re im))
(fma.f64 #s(literal 1 binary64) re (hypot.f64 re im))
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(fma.f64 (neg.f64 re) #s(literal -1 binary64) (hypot.f64 re im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(fma.f64 re #s(literal 1 binary64) (hypot.f64 re im))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 re (hypot.f64 re im))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))
(+.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(+.f64 (hypot.f64 re im) re)
(+.f64 re (hypot.f64 re im))
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 re #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1/4 binary64))
(pow.f64 re #s(literal 1/2 binary64))
(sqrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(*.f64 (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (sqrt.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))) (sqrt.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)))) (sqrt.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re)))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 (sqrt.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))))
(sqrt.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re))) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))))
(*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) (*.f64 (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 (pow.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (*.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (-.f64 (*.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)))) (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re)))) (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(/.f64 (*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) (*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (neg.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))) (fma.f64 #s(literal 8 binary64) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))))
(/.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(fma.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) re (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))
(fma.f64 re #s(literal 2 binary64) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))
(-.f64 (/.f64 (*.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))) (/.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(+.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))
(+.f64 (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(*.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(*.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (pow.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))))
(*.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))) (+.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (fma.f64 (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (*.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))) (neg.f64 (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)))) (neg.f64 (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (*.f64 re re))) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))) (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re re (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (-.f64 (*.f64 re re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re re (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))) (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(/.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re re (*.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(/.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (*.f64 re re)) (neg.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(neg.f64 (/.f64 (+.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (neg.f64 (fma.f64 re (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64))))))
(fma.f64 #s(literal -1 binary64) (neg.f64 re) #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(fma.f64 #s(literal 1 binary64) re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(fma.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(fma.f64 (neg.f64 re) #s(literal -1 binary64) #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(fma.f64 re #s(literal 1 binary64) #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))) (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)))
(+.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) #s(literal 2 binary64)) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re)
(+.f64 re #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64))) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(*.f64 (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -16 binary64) (*.f64 re re))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(*.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))))
(*.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))))
(*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))))
(*.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(*.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))) (*.f64 (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)) (pow.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))) #s(literal -1 binary64))))
(*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))))
(*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)) (*.f64 (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))) (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))) (fma.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))) (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (fma.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (*.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -16 binary64) (*.f64 re re)))) (neg.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64))))) (neg.f64 (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (*.f64 (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))
(/.f64 (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -16 binary64) (*.f64 re re))) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re)))
(/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))))
(/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)) (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -16 binary64) (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))) (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))))
(/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))) (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))))
(/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))))
(neg.f64 (/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64))) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))))
(neg.f64 (/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 3 binary64))) (neg.f64 (fma.f64 (*.f64 #s(literal 16 binary64) re) re (*.f64 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))))
(fma.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) im) im (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 #s(literal 1 binary64) im) (/.f64 im re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 (neg.f64 im) re) (/.f64 im #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 im re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 im) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64))) (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 (*.f64 im im) #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (neg.f64 im) (*.f64 im (/.f64 #s(literal -1 binary64) re)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 im re) (*.f64 im #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 im re) (/.f64 (neg.f64 im) #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (/.f64 im re)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(fma.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -4 binary64) re (/.f64 (*.f64 im im) re))) (neg.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))))
(fma.f64 (*.f64 (neg.f64 im) im) (*.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 (neg.f64 im) im) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 #s(literal 4 binary64) re) #s(literal 1 binary64) (/.f64 (*.f64 im im) re))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1 binary64) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 im im) (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 im im) (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(fma.f64 re #s(literal 4 binary64) (/.f64 (*.f64 im im) re))
(fma.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) im) (*.f64 #s(literal 4 binary64) re))
(fma.f64 im (*.f64 (/.f64 im re) #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 im (/.f64 im re) (*.f64 #s(literal 4 binary64) re))
(-.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(-.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))))
(-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (neg.f64 im) (/.f64 im re)))
(+.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))) (neg.f64 (/.f64 (pow.f64 (/.f64 (*.f64 im im) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re)))))
(+.f64 (*.f64 #s(literal 4 binary64) re) (/.f64 (*.f64 im im) re))
(+.f64 (/.f64 (*.f64 im im) re) (*.f64 #s(literal 4 binary64) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (+.f64 (hypot.f64 re im) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))) (sqrt.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(/.f64 (sqrt.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(sqrt.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re)) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(*.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (*.f64 (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (+.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (+.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))) (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re))
(/.f64 (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 (hypot.f64 re im) re))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (hypot.f64 re im) re) (*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (hypot.f64 re im) re) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re)) (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 4 binary64) re) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64) (*.f64 (*.f64 #s(literal 2 binary64) re) (-.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64))))) (fma.f64 #s(literal 8 binary64) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (*.f64 #s(literal 8 binary64) (pow.f64 re #s(literal 3 binary64))))))
(/.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(fma.f64 (hypot.f64 re im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) (hypot.f64 re im) (*.f64 #s(literal 2 binary64) re))
(fma.f64 #s(literal 2 binary64) re (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(fma.f64 re #s(literal 2 binary64) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))) (/.f64 (*.f64 (*.f64 #s(literal 4 binary64) re) re) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(+.f64 (*.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) re))
(+.f64 (*.f64 #s(literal 2 binary64) re) (*.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re (hypot.f64 re im))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re))
(*.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 re im) re) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (pow.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 (hypot.f64 re im) re) (*.f64 (-.f64 (hypot.f64 re im) re) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))) (+.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (fma.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)) (*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (neg.f64 (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (*.f64 re re))) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 re (hypot.f64 re im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (-.f64 (hypot.f64 re im) re)))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 #s(literal -1 binary64) (hypot.f64 re im) re)))
(neg.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 3 binary64))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 1/2 binary64)) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re)))) re)
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 1/2 binary64)) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) re)
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)) re)
(fma.f64 #s(literal -1 binary64) (neg.f64 re) (hypot.f64 re im))
(fma.f64 #s(literal 1 binary64) re (hypot.f64 re im))
(fma.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(fma.f64 (neg.f64 re) #s(literal -1 binary64) (hypot.f64 re im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(fma.f64 re #s(literal 1 binary64) (hypot.f64 re im))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 re (hypot.f64 re im))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))
(+.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (-.f64 (hypot.f64 re im) re)) (neg.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re))))
(+.f64 (hypot.f64 re im) re)
(+.f64 re (hypot.f64 re im))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(*.f64 (*.f64 (neg.f64 re) re) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 re re #s(literal 0 binary64))))
(*.f64 #s(literal -1 binary64) re)
(*.f64 re #s(literal -1 binary64))
(/.f64 (neg.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64))) (neg.f64 (fma.f64 re re #s(literal 0 binary64))))
(/.f64 (*.f64 (neg.f64 re) re) re)
(/.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 #s(literal 0 binary64) (neg.f64 re)))))
(/.f64 (pow.f64 (neg.f64 re) #s(literal 3 binary64)) (fma.f64 re re #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 (neg.f64 re) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 re re #s(literal 0 binary64)) (pow.f64 (neg.f64 re) #s(literal 3 binary64))))
(/.f64 (*.f64 re re) (neg.f64 re))
(neg.f64 re)
(-.f64 (/.f64 #s(literal 0 binary64) re) re)
(-.f64 (/.f64 #s(literal 0 binary64) (fma.f64 re re #s(literal 0 binary64))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re re #s(literal 0 binary64))))
(-.f64 #s(literal 0 binary64) re)
(+.f64 #s(literal 0 binary64) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) im) im)
(*.f64 (*.f64 #s(literal 1 binary64) im) (/.f64 im re))
(*.f64 (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (neg.f64 im) re) (/.f64 im #s(literal -1 binary64)))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 im re))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 im) re))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64))) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 (*.f64 im im) #s(literal -1 binary64)))
(*.f64 (neg.f64 im) (*.f64 im (/.f64 #s(literal -1 binary64) re)))
(*.f64 (/.f64 im re) (*.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 im re) (/.f64 (neg.f64 im) #s(literal -1 binary64)))
(*.f64 (/.f64 im re) im)
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 im im))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) re))
(*.f64 (*.f64 (neg.f64 im) im) (*.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1 binary64)))
(*.f64 (*.f64 (neg.f64 im) im) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1 binary64))
(*.f64 (*.f64 im im) (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im im) (pow.f64 re #s(literal -1 binary64)))
(*.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) im))
(*.f64 im (*.f64 (/.f64 im re) #s(literal 1 binary64)))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1 binary64))
(/.f64 (neg.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64)))) (neg.f64 re))
(/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64))) re)
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) (pow.f64 im #s(literal -2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 re (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 im im)))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(neg.f64 (*.f64 (*.f64 (neg.f64 im) (/.f64 im re)) #s(literal 1 binary64)))
(neg.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (*.f64 (neg.f64 im) (/.f64 im re)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 im) (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (/.f64 re (*.f64 im im))) #s(literal -1 binary64)))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im)))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re)))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (hypot.f64 re im) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im)))))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (sqrt.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 re im))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (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 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(exp.f64 (log.f64 (hypot.f64 re im)))
(*.f64 (*.f64 (hypot.f64 re im) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (+.f64 re im)) (+.f64 re im))
(*.f64 (/.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (+.f64 im re)) (+.f64 im re))
(*.f64 (pow.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/2 binary64)) (hypot.f64 re im)))
(*.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(*.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(*.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(*.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (hypot.f64 re im) (hypot.f64 re im))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 re im) (-.f64 re im)) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (hypot.f64 re im) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))))) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))))) (+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 (fma.f64 (neg.f64 im) im (*.f64 re re))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))) (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (*.f64 (*.f64 (+.f64 re im) (-.f64 re im)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (*.f64 (+.f64 re im) (-.f64 re im)) (*.f64 (+.f64 re im) (-.f64 re im))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (neg.f64 re) re (*.f64 im im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 (neg.f64 im) im (*.f64 re re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (+.f64 re im) (-.f64 re im)))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 im re) (-.f64 im re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))
(neg.f64 (/.f64 (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (+.f64 re im) (-.f64 re im))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 (+.f64 im re) (-.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(neg.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (neg.f64 im) im (*.f64 re re))))
(neg.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(neg.f64 (/.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))) (pow.f64 im #s(literal 4 binary64))))))
(fma.f64 (*.f64 #s(literal 1 binary64) im) im (*.f64 re re))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 im re)) (/.f64 im (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(fma.f64 (/.f64 im (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(fma.f64 (neg.f64 (neg.f64 im)) im (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (*.f64 (neg.f64 re) re) #s(literal -1 binary64) (*.f64 im im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re) (*.f64 im im))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) im) (*.f64 re re))
(fma.f64 #s(literal 1 binary64) (*.f64 im im) (*.f64 re re))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 re) re (*.f64 im im))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1 binary64) (fma.f64 (neg.f64 im) im (*.f64 re re))) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(fma.f64 (*.f64 im im) #s(literal 1 binary64) (*.f64 re re))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 im im))
(fma.f64 re re (*.f64 im im))
(fma.f64 im (*.f64 im #s(literal 1 binary64)) (*.f64 re re))
(fma.f64 im (neg.f64 (neg.f64 im)) (*.f64 re re))
(fma.f64 im im (*.f64 re re))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))))
(fabs.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 re im) (-.f64 re im)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (neg.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re)))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))

eval128.0ms (2.1%)

Memory
10.9MiB live, 251.9MiB allocated
Compiler

Compiled 19 665 to 3 405 computations (82.7% saved)

prune19.0ms (0.3%)

Memory
18.9MiB live, 55.5MiB allocated
Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New6189627
Fresh808
Picked145
Done000
Total62713640
Accuracy
92.2%
Counts
640 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
80.5%
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
52.2%
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
15.7%
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))) #s(literal 2 binary64))) #s(literal 1/2 binary64))
49.0%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
18.8%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
48.9%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
48.6%
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
48.4%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
7.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
29.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
19.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
48.2%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
29.7%
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
Compiler

Compiled 508 to 374 computations (26.4% saved)

simplify241.0ms (3.9%)

Memory
-19.0MiB live, 169.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
047455
071455
1108455
2135455
3172455
4198455
5221455
6266455
7324455
8456455
9758455
101602450
113003450
123722450
134375450
145105450
155423450
165761450
176192450
08852361
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64)))
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(+.f64 re im)
re
im
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (neg.f64 im) (/.f64 im re))
(neg.f64 im)
im
(/.f64 im re)
re
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+.f64 (/.f64 re im) #s(literal 2 binary64))
(/.f64 re im)
re
im
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) im)
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))
#s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))
#s(literal 4 binary64)
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))))
(sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(+.f64 re im)
re
im
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (neg.f64 im) (/.f64 im re))
(neg.f64 im)
im
(/.f64 im re)
re
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal -2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal -2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal -2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(fma.f64 (-.f64 (/.f64 re im) #s(literal -2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+.f64 (/.f64 re im) #s(literal 2 binary64))
(-.f64 (/.f64 re im) #s(literal -2 binary64))
(/.f64 re im)
re
im
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) im)
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) #s(approx (+ (* 4 re) (/ (* im im) re)) (fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im))))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) #s(approx (+ (* 4 re) (/ (* im im) re)) (fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im)))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) #s(approx (+ (* 4 re) (/ (* im im) re)) (fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im))))
#s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))
#s(approx (+ (* 4 re) (/ (* im im) re)) (fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im)))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im))
(fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))
#s(literal 4 binary64)
(*.f64 re re)
re
(*.f64 im im)
im

localize202.0ms (3.2%)

Memory
10.2MiB live, 216.5MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
accuracy5.063430025402172
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
accuracy17.794195874079204
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
accuracy44.414071387262126
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))
accuracy0.00390625
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
accuracy0.06640625
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
accuracy5.063430025402172
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
accuracy32.74528453478298
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
accuracy0.00390625
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
accuracy0.15625
(*.f64 (neg.f64 im) (/.f64 im re))
accuracy5.063430025402172
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re))))
accuracy46.61641948719101
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))
accuracy0
(*.f64 #s(literal 2 binary64) im)
accuracy0.00390625
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
accuracy5.063430025402172
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
accuracy32.92381751135111
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
accuracy0
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
accuracy0.00390625
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
accuracy5.063430025402172
(sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64)))
accuracy30.555387707025925
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
Samples
57.0ms193×0valid
42.0ms25×1valid
15.0ms18×3valid
13.0ms20×2valid
Compiler

Compiled 759 to 83 computations (89.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 100.0ms
ival-mult: 57.0ms (56.9% of total)
ival-hypot: 14.0ms (14% of total)
ival-add: 9.0ms (9% of total)
ival-div: 7.0ms (7% of total)
adjust: 6.0ms (6% of total)
ival-sqrt: 5.0ms (5% of total)
ival-neg: 1.0ms (1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series21.0ms (0.3%)

Memory
0.3MiB live, 35.6MiB allocated
Counts
20 → 100
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64)))
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (neg.f64 im) (/.f64 im re))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(* -1 (/ (pow im 2) re))
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -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) im)
(* (pow re 2) (+ (/ 1 im) (* 2 (/ 1 re))))
(* (pow re 2) (+ (* 2 (/ im (pow re 2))) (+ (/ 1 im) (* 2 (/ 1 re)))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* (pow re 2) (+ (* -1 (/ (- (* -2 (/ im re)) 2) re)) (/ 1 im)))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(/ (+ (* 2 (* im re)) (pow re 2)) im)
(/ (+ (* im (+ (* 2 im) (* 2 re))) (pow re 2)) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(* -1 (* im (- (* -2 (/ re im)) 2)))
(* -1 (* im (- (* -1 (/ (+ (* 2 re) (/ (pow re 2) im)) im)) 2)))
Calls

6 calls:

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

simplify169.0ms (2.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
04972593
116342411
257202389
085862253
Stop Event
iter limit
node limit
Counts
100 → 99
Calls
Call 1
Inputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(* -1 (/ (pow im 2) re))
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -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) im)
(* (pow re 2) (+ (/ 1 im) (* 2 (/ 1 re))))
(* (pow re 2) (+ (* 2 (/ im (pow re 2))) (+ (/ 1 im) (* 2 (/ 1 re)))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* (pow re 2) (+ (* -1 (/ (- (* -2 (/ im re)) 2) re)) (/ 1 im)))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(/ (+ (* 2 (* im re)) (pow re 2)) im)
(/ (+ (* im (+ (* 2 im) (* 2 re))) (pow re 2)) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(* -1 (* im (- (* -2 (/ re im)) 2)))
(* -1 (* im (- (* -1 (/ (+ (* 2 re) (/ (pow re 2) im)) im)) 2)))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* 2 im) (* 2 re))
(*.f64 (+.f64 re im) #s(literal 2 binary64))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
im
(+ im re)
(+.f64 re im)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) re #s(literal 1 binary64)) re im)
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) re #s(literal 1 binary64)) re im)
(* -1 (/ (pow im 2) re))
(*.f64 (neg.f64 im) (/.f64 im re))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(/.f64 (fma.f64 (*.f64 re re) #s(literal 4 binary64) (*.f64 im im)) re)
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(sqrt.f64 re)
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/32 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/64 binary64))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* (sqrt re) (pow (sqrt 2) 2))
(*.f64 (sqrt.f64 re) #s(literal 2 binary64))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/16 binary64) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal -1/32 binary64))) (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* 4 re)
(*.f64 #s(literal 4 binary64) re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(* 2 re)
(*.f64 #s(literal 2 binary64) re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64)) re)
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64))) re)
(* re (+ 2 (+ (* -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 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal 1/2 binary64) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(/ (pow re 2) im)
(*.f64 (/.f64 re im) re)
(* (pow re 2) (+ (/ 1 im) (* 2 (/ 1 re))))
(*.f64 re (fma.f64 re (/.f64 #s(literal 2 binary64) re) (/.f64 re im)))
(* (pow re 2) (+ (* 2 (/ im (pow re 2))) (+ (/ 1 im) (* 2 (/ 1 re)))))
(*.f64 re (fma.f64 re (fma.f64 (/.f64 im (*.f64 re re)) #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) re)) (/.f64 re im)))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal 1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 im (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/512 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/256 binary64) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (*.f64 im im)) (neg.f64 re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (neg.f64 re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(/.f64 (fma.f64 (neg.f64 (pow.f64 im #s(literal 8 binary64))) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im)))) (neg.f64 re))
(* -1/2 (/ (pow im 2) re))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/8 binary64) re))) (neg.f64 re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/8 binary64) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 im #s(literal 8 binary64)) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/8 binary64) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64)))))) (neg.f64 re))
(* (pow re 2) (+ (* -1 (/ (- (* -2 (/ im re)) 2) re)) (/ 1 im)))
(*.f64 (fma.f64 (/.f64 (+.f64 (/.f64 im re) #s(literal 1 binary64)) re) #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) im)) (*.f64 re re))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(*.f64 (neg.f64 re) (-.f64 #s(literal -4 binary64) (/.f64 (/.f64 (*.f64 im im) re) re)))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/4 binary64) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (sqrt.f64 re))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (fma.f64 #s(literal 1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 re re)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/32 binary64) (pow.f64 re #s(literal 3 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 4 re) (/ (pow im 2) re))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/8 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(/ (+ (* 2 (* im re)) (pow re 2)) im)
(/.f64 (*.f64 re (fma.f64 #s(literal 2 binary64) im re)) im)
(/ (+ (* im (+ (* 2 im) (* 2 re))) (pow re 2)) im)
(/.f64 (fma.f64 (*.f64 (+.f64 re im) #s(literal 2 binary64)) im (*.f64 re re)) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) im)
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/16 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ 2 (* 2 (/ re im))))
(*.f64 (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)) im)
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64))) im)
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (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/4 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))) im)
(* im (+ 1 (/ re im)))
(fma.f64 (/.f64 re im) im im)
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(fma.f64 (fma.f64 (/.f64 (*.f64 (/.f64 re im) re) im) #s(literal 1/2 binary64) (/.f64 re im)) im im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(fma.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 im) re) im) #s(literal 1/2 binary64) (/.f64 re im))) im im)
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(*.f64 (*.f64 (fma.f64 (/.f64 (/.f64 re im) im) #s(literal 4 binary64) (/.f64 #s(literal 1 binary64) re)) im) im)
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) re (/.f64 (*.f64 #s(literal -3/16 binary64) (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))) (pow.f64 im #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -3/8 binary64) (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))) (pow.f64 im #s(literal 3 binary64))))))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 #s(literal -2 binary64) (/.f64 re im) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 (neg.f64 re) (/.f64 re im) (*.f64 #s(literal 2 binary64) re)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) re (/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (*.f64 re re)) (neg.f64 im))) im)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(fma.f64 (/.f64 re im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(fma.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 re im) re) re) im) im (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(fma.f64 (/.f64 (-.f64 re (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (/.f64 #s(literal -1/8 binary64) im) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) im)) im) im (neg.f64 im))
(* -1 (* im (- (* -2 (/ re im)) 2)))
(*.f64 (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)) im)
(* -1 (* im (- (* -1 (/ (+ (* 2 re) (/ (pow re 2) im)) im)) 2)))
(*.f64 (-.f64 #s(literal -2 binary64) (/.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) im)) (neg.f64 im))

rewrite196.0ms (3.1%)

Memory
22.8MiB live, 214.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047384
071384
1240384
21509384
08257301
Stop Event
iter limit
node limit
iter limit
Counts
20 → 218
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64)))
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (neg.f64 im) (/.f64 im re))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
#s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 (exp.f64 (log.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(exp.f64 (*.f64 (log.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
(*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 im #s(literal 2 binary64))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im)))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 (/.f64 (neg.f64 im) (pow.f64 (neg.f64 im) #s(literal -1 binary64))) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 (/.f64 (neg.f64 im) (pow.f64 im #s(literal -1 binary64))) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (/.f64 (neg.f64 im) #s(literal 1 binary64)) (/.f64 im re))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (neg.f64 im) #s(literal -1 binary64))) (/.f64 im re))
(*.f64 (/.f64 im (pow.f64 (neg.f64 im) #s(literal -1 binary64))) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 im (pow.f64 im #s(literal -1 binary64))))
(*.f64 (/.f64 im (pow.f64 im #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 im) #s(literal -1 binary64))) (/.f64 im (neg.f64 re)))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal -1 binary64))) (/.f64 im re))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 im re))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im)) (/.f64 im re))
(*.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (/.f64 im re))
(*.f64 (*.f64 (/.f64 im re) #s(literal -1 binary64)) im)
(*.f64 (/.f64 (neg.f64 im) re) (*.f64 im #s(literal 1 binary64)))
(*.f64 (pow.f64 (neg.f64 re) #s(literal -1 binary64)) (/.f64 (neg.f64 im) (pow.f64 (neg.f64 im) #s(literal -1 binary64))))
(*.f64 (*.f64 im #s(literal 1 binary64)) (/.f64 #s(literal -1 binary64) (/.f64 re im)))
(*.f64 (*.f64 im #s(literal 1 binary64)) (/.f64 (neg.f64 im) re))
(*.f64 (/.f64 im (neg.f64 re)) (/.f64 #s(literal -1 binary64) (pow.f64 (neg.f64 im) #s(literal -1 binary64))))
(*.f64 (neg.f64 (*.f64 (neg.f64 im) im)) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im re) im))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 (neg.f64 im) (pow.f64 im #s(literal -1 binary64))))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 im (pow.f64 (neg.f64 im) #s(literal -1 binary64))))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 (*.f64 (neg.f64 im) im) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (/.f64 im re) (/.f64 #s(literal 1 binary64) (pow.f64 (neg.f64 im) #s(literal -1 binary64))))
(*.f64 (/.f64 im re) (/.f64 #s(literal -1 binary64) (pow.f64 im #s(literal -1 binary64))))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 (neg.f64 im) (/.f64 im re))
(*.f64 (*.f64 im im) (neg.f64 (pow.f64 re #s(literal -1 binary64))))
(*.f64 (*.f64 im im) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 im (*.f64 (pow.f64 re #s(literal -1 binary64)) (neg.f64 im)))
(*.f64 im (neg.f64 (/.f64 im re)))
(pow.f64 (/.f64 re (*.f64 (neg.f64 im) im)) #s(literal -1 binary64))
(pow.f64 (neg.f64 (/.f64 (/.f64 re im) im)) #s(literal -1 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (pow.f64 re #s(literal -2 binary64)) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (/.f64 im re) im)))))
(/.f64 (neg.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im))) (neg.f64 (/.f64 re im)))
(/.f64 (neg.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64))) (neg.f64 (/.f64 re im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (neg.f64 im) im))) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 im)) (/.f64 re im))
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (/.f64 re im))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (/.f64 re im)))
(/.f64 (neg.f64 (*.f64 (neg.f64 im) im)) (neg.f64 (neg.f64 (neg.f64 re))))
(/.f64 (neg.f64 (*.f64 (neg.f64 im) im)) (neg.f64 re))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 re (*.f64 (neg.f64 im) im))))
(/.f64 #s(literal -1 binary64) (neg.f64 (neg.f64 (/.f64 (/.f64 re im) im))))
(/.f64 #s(literal -1 binary64) (/.f64 (/.f64 re im) im))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 re im) (*.f64 #s(literal 1 binary64) (neg.f64 im))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 re im) (*.f64 (neg.f64 im) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 (/.f64 re im) im) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 re (*.f64 (neg.f64 im) im)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (/.f64 (/.f64 re im) im)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (neg.f64 re)) (*.f64 (neg.f64 im) im)))
(/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 re) (*.f64 im im)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 re im) (neg.f64 im)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 (neg.f64 im) im)))
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 (/.f64 re im) im)))
(/.f64 (*.f64 (neg.f64 im) im) (*.f64 re #s(literal 1 binary64)))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 (neg.f64 re)))
(/.f64 (*.f64 (neg.f64 im) im) re)
(/.f64 (neg.f64 im) (/.f64 re im))
(/.f64 (*.f64 im im) (neg.f64 re))
(neg.f64 (*.f64 (/.f64 im re) im))
(-.f64 (/.f64 #s(literal 0 binary64) (/.f64 re im)) (*.f64 (/.f64 im re) im))
(-.f64 (/.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 im re) im))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 (*.f64 im im) (neg.f64 (neg.f64 re))))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im re) im))
(+.f64 #s(literal 0 binary64) (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(*.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))) (pow.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) im)))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (fma.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (*.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))))) (neg.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (*.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (*.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im)))) (neg.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (*.f64 im im))) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (-.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) im))) (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64))) (fma.f64 #s(literal 4 binary64) (*.f64 im im) (-.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) im))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal 8 binary64) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) im) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64))))
(fma.f64 (*.f64 (-.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64)) re) (pow.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) im))
(fma.f64 (*.f64 (+.f64 #s(literal 8 binary64) (pow.f64 (/.f64 re im) #s(literal 3 binary64))) re) (pow.f64 (-.f64 (+.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) im))
(fma.f64 (*.f64 re (-.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) im))
(fma.f64 (*.f64 re (+.f64 #s(literal 8 binary64) (pow.f64 (/.f64 re im) #s(literal 3 binary64)))) (pow.f64 (-.f64 (+.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 (/.f64 re im) #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) im))
(fma.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (pow.f64 (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(fma.f64 #s(literal 2 binary64) im (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(fma.f64 re (+.f64 (/.f64 re im) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) im))
(fma.f64 im #s(literal 2 binary64) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(-.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))) (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 2 binary64)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im))) (neg.f64 (/.f64 (*.f64 #s(literal 4 binary64) (*.f64 im im)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal -2 binary64) im)))))
(+.f64 (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re) (*.f64 #s(literal 2 binary64) im))
(+.f64 (*.f64 #s(literal 2 binary64) im) (*.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(*.f64 (/.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) re) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64)))))))
(*.f64 (pow.f64 (/.f64 re (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) #s(literal -1 binary64)) (pow.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 re (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) #s(literal -1 binary64)))
(*.f64 (/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) re) (pow.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) #s(literal -1 binary64)))
(*.f64 (/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) re) (pow.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64)) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)))) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) re)))
(*.f64 (*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) re)))
(*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)))))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))))))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)))
(*.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))
(*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 re (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))))
(*.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))) (pow.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re) (/.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))))
(*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) (pow.f64 re #s(literal -1 binary64)))
(pow.f64 (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))) #s(literal -1 binary64))
(/.f64 (neg.f64 (/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) re)) (neg.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))))
(/.f64 (neg.f64 (/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) re)) (neg.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64))) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))))) (neg.f64 (neg.f64 (neg.f64 re))))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) re)))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64))) (neg.f64 (*.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) re)))
(/.f64 (/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) re) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)))
(/.f64 (/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) re) (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))
(/.f64 (*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64)) re)
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)))) (neg.f64 (neg.f64 re)))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)))))
(/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (neg.f64 (*.f64 re (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) re))
(/.f64 (*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) re))
(/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)))))
(/.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) (/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) re)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) (/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) re)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)) re) (*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))) re) (*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))) (-.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64)))))) (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))))))
(/.f64 #s(literal 1 binary64) (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))))
(/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 re (fma.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 (*.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))) (neg.f64 re))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) (*.f64 re #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(neg.f64 (/.f64 (neg.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im))) re))
(neg.f64 (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 re (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im)))))
(-.f64 (/.f64 (/.f64 (*.f64 #s(literal 16 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))) re) (/.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 4 binary64) re) re (*.f64 (neg.f64 im) im))) re))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) (neg.f64 re)))
(exp.f64 (*.f64 (log.f64 (/.f64 re (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)))) #s(literal -1 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))

eval41.0ms (0.7%)

Memory
3.9MiB live, 77.1MiB allocated
Compiler

Compiled 11 794 to 1 706 computations (85.5% saved)

prune82.0ms (1.3%)

Memory
-41.6MiB live, 60.4MiB allocated
Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New3135318
Fresh134
Picked055
Done044
Total31417331
Accuracy
92.2%
Counts
331 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.5%
(*.f64 (pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
51.9%
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
80.5%
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
52.2%
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
49.0%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
15.7%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 (neg.f64 im) im) re))) #s(literal 1/2 binary64))
18.8%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (neg.f64 im) (/.f64 re im)))) #s(literal 1/2 binary64))
18.8%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
48.9%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
45.8%
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
48.6%
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
48.4%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
7.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
29.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
19.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
48.2%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
29.7%
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
Compiler

Compiled 556 to 416 computations (25.2% saved)

simplify9.0ms (0.1%)

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

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
cost-diff0
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
cost-diff0
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
cost-diff12480
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
cost-diff960
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
cost-diff0
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
cost-diff0
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
cost-diff0
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
cost-diff0
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
cost-diff0
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
cost-diff0
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
cost-diff0
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049407
076403
1119401
2158397
3201397
4211397
0211320
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(+.f64 re im)
re
im
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 im)
im
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(/.f64 im re)
im
re
(*.f64 #s(literal 4 binary64) re)
#s(literal 4 binary64)
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 im)
im
(*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 re #s(literal 1/4 binary64))
re
#s(literal 1/4 binary64)
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
#s(literal 1/2 binary64)
Outputs
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(+.f64 re im)
re
im
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 im)
im
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(/.f64 im re)
im
re
(*.f64 #s(literal 4 binary64) re)
#s(literal 4 binary64)
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 #s(literal 1/4 binary64) re) (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 #s(literal 1/4 binary64) re) (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 im)
im
(*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/4 binary64) re))
(*.f64 re #s(literal 1/4 binary64))
(*.f64 #s(literal 1/4 binary64) re)
re
#s(literal 1/4 binary64)
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
#s(literal 1/2 binary64)

localize152.0ms (2.4%)

Memory
-6.2MiB live, 269.3MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
accuracy4.49672478536628
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
accuracy7.748188605776672
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
accuracy32.92381751135111
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
accuracy0.265625
(*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))
accuracy0.35936233730673617
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
accuracy0.43978500976844204
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
accuracy32.93716932500779
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
accuracy0.06640625
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
accuracy5.063430025402172
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
accuracy44.414071387262126
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
accuracy0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.00390625
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
accuracy0.4404487793053261
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
accuracy32.693027798992865
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
accuracy0.00390625
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
accuracy0.4365425293053261
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
accuracy5.04945704848034
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
accuracy30.555387707025925
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
Samples
63.0ms193×0valid
18.0ms18×3valid
16.0ms25×1valid
15.0ms20×2valid
Compiler

Compiled 724 to 94 computations (87% saved)

Precisions
Click to see histograms. Total time spent on operations: 84.0ms
ival-mult: 27.0ms (32% of total)
ival-hypot: 19.0ms (22.5% of total)
ival-sqrt: 12.0ms (14.2% of total)
ival-add: 8.0ms (9.5% of total)
adjust: 5.0ms (5.9% of total)
ival-log: 5.0ms (5.9% of total)
ival-div: 4.0ms (4.7% of total)
ival-exp: 4.0ms (4.7% of total)
exact: 1.0ms (1.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series40.0ms (0.6%)

Memory
-5.2MiB live, 69.7MiB allocated
Counts
23 → 194
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(sqrt im)
(+ (sqrt im) (* 1/2 (* (sqrt (/ 1 im)) re)))
(+ (sqrt im) (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) re)) (* 1/2 (sqrt (/ 1 im))))))
(+ (sqrt im) (* re (+ (* 1/2 (sqrt (/ 1 im))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) re)) (* 1/8 (sqrt (/ 1 (pow im 3)))))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(+ (* (sqrt im) (sqrt 2)) (* (sqrt (/ 1 im)) (/ re (sqrt 2))))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 (* (pow im 2) (pow (sqrt 2) 4))) (/ 1 (* (pow im 2) (pow (sqrt 2) 2))))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(* 1/2 (log (* 2 im)))
(+ (* 1/2 (log (* 2 im))) (* 1/2 (/ re im)))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* -1/12 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* (pow re 2) (- (* 3/80 (/ (pow re 2) (pow im 5))) (* 1/12 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(log (* 2 im))
(+ (log (* 2 im)) (/ re im))
(+ (log (* 2 im)) (* re (+ (* -1/6 (/ (pow re 2) (pow im 3))) (/ 1 im))))
(+ (log (* 2 im)) (* re (+ (* (pow re 2) (- (* 3/40 (/ (pow re 2) (pow im 5))) (* 1/6 (/ 1 (pow im 3))))) (/ 1 im))))
(* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2))))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* (sqrt re) (sqrt 2))
(* re (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2)))))
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/2 (* (sqrt im) (/ (sqrt 2) re)))))
(* 2 (sqrt re))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re))))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))))
(* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))
(+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))))
(+ (* 1/1440 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))))
(+ (log 4) (* -1 (log (/ 1 re))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (* 1/4 (/ (pow im 2) (pow re 2)))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2))))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/720 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (sqrt -1)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(* -1 (* re (+ (* -1/2 (* (sqrt im) (/ (sqrt 2) re))) (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (* im (sqrt -1)) (sqrt (/ 1 re)))
(+ (* 1/8 (* (* (pow im 3) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (+ (* 1/128 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/1440 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))))
(+ (log (/ -1 re)) (log (pow im 2)))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (* -1/4 (/ (pow im 2) (pow re 2)))))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))))))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (+ (* 1/720 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4)))))))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (sqrt 2)))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt 2)) (sqrt (/ 1 re)))) (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))))))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (sqrt 2)))) (* 1/2 (* (/ (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt 2)) (sqrt (/ 1 re)))))))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(/ (+ (* 1/4 (* (sqrt im) (* re (sqrt 2)))) (* 1/2 (* (sqrt (pow im 3)) (sqrt 2)))) im)
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 2 (sqrt re)))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* -5/64 (* (pow im 2) (sqrt (/ 1 (pow re 7))))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -5/64 (sqrt (/ 1 (pow re 7)))) (* 21/512 (* (pow im 2) (sqrt (/ 1 (pow re 11))))))))))
(* 1/2 (log (* 4 re)))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (log (* 4 re))))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* -3/64 (/ (pow im 2) (pow re 4))) (* 1/8 (/ 1 (pow re 2))))))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* (pow im 2) (- (* 5/192 (/ (pow im 2) (pow re 6))) (* 3/64 (/ 1 (pow re 4))))) (* 1/8 (/ 1 (pow re 2))))))
(log (* 4 re))
(+ (log (* 4 re)) (* 1/4 (/ (pow im 2) (pow re 2))))
(+ (log (* 4 re)) (* (pow im 2) (+ (* -3/32 (/ (pow im 2) (pow re 4))) (* 1/4 (/ 1 (pow re 2))))))
(+ (log (* 4 re)) (* (pow im 2) (+ (* (pow im 2) (- (* 5/96 (/ (pow im 2) (pow re 6))) (* 3/32 (/ 1 (pow re 4))))) (* 1/4 (/ 1 (pow re 2))))))
(* (sqrt (/ 1 im)) (sqrt 2))
(sqrt (/ 1 im))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (sqrt (/ 1 im)) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))
(* im (+ (sqrt (/ 1 im)) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re)))))
(* im (+ (sqrt (/ 1 im)) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* im (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (pow (sqrt 2) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))))
(* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))
(+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))
(+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im))))
(+ (* 1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))))
(+ (log 2) (* -1 (log (/ 1 im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (/ re im)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im)))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* (sqrt im) (sqrt -1)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1)))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (sqrt -1)))) (* 1/4 (* (sqrt im) (* (pow re 2) (sqrt -1))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1/2 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (pow (sqrt -1) 2) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))))))
(* -1 (* im (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (pow (sqrt 2) 3))))) (pow im 3))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(* 1/2 (+ (log 2) (* -1 (log (/ -1 im)))))
(+ (* -1/2 (/ re im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (* -1 (/ (+ (* -1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/4 (+ (* -1 (pow re 2)) (pow re 2)))) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (log 2) (* -1 (log (/ -1 im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ re im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1 (/ (+ (* -1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/2 (+ (* -1 (pow re 2)) (pow re 2)))) im))) im))))
(* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))
(* (sqrt (/ 1 im)) (pow (sqrt -1) 2))
(* 1/4 (* (sqrt (/ 1 im)) (* re (* (pow (sqrt -1) 2) (sqrt 2)))))
Calls

6 calls:

TimeVariablePointExpression
9.0ms
im
@inf
((* (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) 1/2) (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (+ (sqrt (+ (* im im) (* re re))) re) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt 2) (sqrt im)) (sqrt 2) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* (/ im re) im) (* 4 re)) (+ (* (* 1/2 (sqrt 2)) (sqrt im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2)))) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* 1/2 (sqrt 2)) (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) 1/2) (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* (sqrt (/ 1 im)) (sqrt 2)) (sqrt (/ 1 im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))
7.0ms
re
@-inf
((* (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) 1/2) (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (+ (sqrt (+ (* im im) (* re re))) re) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt 2) (sqrt im)) (sqrt 2) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* (/ im re) im) (* 4 re)) (+ (* (* 1/2 (sqrt 2)) (sqrt im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2)))) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* 1/2 (sqrt 2)) (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) 1/2) (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* (sqrt (/ 1 im)) (sqrt 2)) (sqrt (/ 1 im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))
5.0ms
im
@-inf
((* (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) 1/2) (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (+ (sqrt (+ (* im im) (* re re))) re) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt 2) (sqrt im)) (sqrt 2) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* (/ im re) im) (* 4 re)) (+ (* (* 1/2 (sqrt 2)) (sqrt im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2)))) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* 1/2 (sqrt 2)) (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) 1/2) (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* (sqrt (/ 1 im)) (sqrt 2)) (sqrt (/ 1 im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))
4.0ms
im
@0
((* (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) 1/2) (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (+ (sqrt (+ (* im im) (* re re))) re) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt 2) (sqrt im)) (sqrt 2) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* (/ im re) im) (* 4 re)) (+ (* (* 1/2 (sqrt 2)) (sqrt im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2)))) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* 1/2 (sqrt 2)) (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) 1/2) (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* (sqrt (/ 1 im)) (sqrt 2)) (sqrt (/ 1 im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))
4.0ms
re
@inf
((* (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) 1/2) (* (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (sqrt 2)) (sqrt (+ (sqrt (+ (* im im) (* re re))) re)) (+ (sqrt (+ (* im im) (* re re))) re) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt 2) (sqrt im)) (sqrt 2) (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (+ (* (/ im re) im) (* 4 re)) (+ (* (* 1/2 (sqrt 2)) (sqrt im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2)))) (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* 1/2 (sqrt 2)) (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* (exp (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2)) 1/2) (* (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (* (sqrt (/ 1 im)) (sqrt 2)) (sqrt (/ 1 im)) (* (* re 1/4) (* (sqrt (/ 1 im)) (sqrt 2))) (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))

simplify198.0ms (3.2%)

Memory
27.4MiB live, 270.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09605187
130424793
085554551
Stop Event
iter limit
node limit
Counts
194 → 193
Calls
Call 1
Inputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(sqrt im)
(+ (sqrt im) (* 1/2 (* (sqrt (/ 1 im)) re)))
(+ (sqrt im) (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) re)) (* 1/2 (sqrt (/ 1 im))))))
(+ (sqrt im) (* re (+ (* 1/2 (sqrt (/ 1 im))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) re)) (* 1/8 (sqrt (/ 1 (pow im 3)))))))))
im
(+ im re)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(* 2 im)
(+ (* 2 im) (* 2 re))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(/ (pow im 2) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(+ (* (sqrt im) (sqrt 2)) (* (sqrt (/ 1 im)) (/ re (sqrt 2))))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 (* (pow im 2) (pow (sqrt 2) 4))) (/ 1 (* (pow im 2) (pow (sqrt 2) 2))))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(* 1/2 (log (* 2 im)))
(+ (* 1/2 (log (* 2 im))) (* 1/2 (/ re im)))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* -1/12 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* (pow re 2) (- (* 3/80 (/ (pow re 2) (pow im 5))) (* 1/12 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(log (* 2 im))
(+ (log (* 2 im)) (/ re im))
(+ (log (* 2 im)) (* re (+ (* -1/6 (/ (pow re 2) (pow im 3))) (/ 1 im))))
(+ (log (* 2 im)) (* re (+ (* (pow re 2) (- (* 3/40 (/ (pow re 2) (pow im 5))) (* 1/6 (/ 1 (pow im 3))))) (/ 1 im))))
(* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2))))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(* (sqrt re) (pow (sqrt 2) 2))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(* (sqrt re) (sqrt 2))
(* re (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2)))))
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))))
(* 2 re)
(* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* 4 re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/2 (* (sqrt im) (/ (sqrt 2) re)))))
(* 2 (sqrt re))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re))))))
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))))
(* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))
(+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))))
(+ (* 1/1440 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))))
(+ (log 4) (* -1 (log (/ 1 re))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (* 1/4 (/ (pow im 2) (pow re 2)))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2))))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/720 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2)))))))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re)))
(+ (* 1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (sqrt -1)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(* -1/2 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(* -1 (/ (pow im 2) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(* -1 (* re (+ (* -1/2 (* (sqrt im) (/ (sqrt 2) re))) (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (* im (sqrt -1)) (sqrt (/ 1 re)))
(+ (* 1/8 (* (* (pow im 3) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (+ (* 1/128 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/1440 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))))
(+ (log (/ -1 re)) (log (pow im 2)))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (* -1/4 (/ (pow im 2) (pow re 2)))))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))))))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (+ (* 1/720 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4)))))))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (sqrt 2)))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt 2)) (sqrt (/ 1 re)))) (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))))))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (sqrt 2)))) (* 1/2 (* (/ (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt 2)) (sqrt (/ 1 re)))))))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ (* 2 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)))))
(+ (* 4 re) (/ (pow im 2) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(/ (+ (* 1/4 (* (sqrt im) (* re (sqrt 2)))) (* 1/2 (* (sqrt (pow im 3)) (sqrt 2)))) im)
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 2 (sqrt re)))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* -5/64 (* (pow im 2) (sqrt (/ 1 (pow re 7))))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -5/64 (sqrt (/ 1 (pow re 7)))) (* 21/512 (* (pow im 2) (sqrt (/ 1 (pow re 11))))))))))
(* 1/2 (log (* 4 re)))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (log (* 4 re))))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* -3/64 (/ (pow im 2) (pow re 4))) (* 1/8 (/ 1 (pow re 2))))))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* (pow im 2) (- (* 5/192 (/ (pow im 2) (pow re 6))) (* 3/64 (/ 1 (pow re 4))))) (* 1/8 (/ 1 (pow re 2))))))
(log (* 4 re))
(+ (log (* 4 re)) (* 1/4 (/ (pow im 2) (pow re 2))))
(+ (log (* 4 re)) (* (pow im 2) (+ (* -3/32 (/ (pow im 2) (pow re 4))) (* 1/4 (/ 1 (pow re 2))))))
(+ (log (* 4 re)) (* (pow im 2) (+ (* (pow im 2) (- (* 5/96 (/ (pow im 2) (pow re 6))) (* 3/32 (/ 1 (pow re 4))))) (* 1/4 (/ 1 (pow re 2))))))
(* (sqrt (/ 1 im)) (sqrt 2))
(sqrt (/ 1 im))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (sqrt (/ 1 im)) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))
(* im (+ (sqrt (/ 1 im)) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re)))))
(* im (+ (sqrt (/ 1 im)) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))))
(* im (+ 1 (/ re im)))
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(* im (+ 2 (* 2 (/ re im))))
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2))))))
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(* im (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (pow (sqrt 2) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))))
(* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))
(+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))
(+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im))))
(+ (* 1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))))
(+ (log 2) (* -1 (log (/ 1 im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (/ re im)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im)))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* (sqrt im) (sqrt -1)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1)))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (sqrt -1)))) (* 1/4 (* (sqrt im) (* (pow re 2) (sqrt -1))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(* -1 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -2 im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(* -1/2 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (pow (sqrt -1) 2) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))))))
(* -1 (* im (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (pow (sqrt 2) 3))))) (pow im 3))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(* 1/2 (+ (log 2) (* -1 (log (/ -1 im)))))
(+ (* -1/2 (/ re im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (* -1 (/ (+ (* -1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/4 (+ (* -1 (pow re 2)) (pow re 2)))) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (log 2) (* -1 (log (/ -1 im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ re im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1 (/ (+ (* -1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/2 (+ (* -1 (pow re 2)) (pow re 2)))) im))) im))))
(* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))
(* (sqrt (/ 1 im)) (pow (sqrt -1) 2))
(* 1/4 (* (sqrt (/ 1 im)) (* re (* (pow (sqrt -1) 2) (sqrt 2)))))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)))
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* 1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(sqrt im)
(sqrt.f64 im)
(+ (sqrt im) (* 1/2 (* (sqrt (/ 1 im)) re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 im))
(+ (sqrt im) (* re (+ (* 1/8 (* (sqrt (/ 1 (pow im 3))) re)) (* 1/2 (sqrt (/ 1 im))))))
(fma.f64 (fma.f64 (*.f64 re #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64))) re (sqrt.f64 im))
(+ (sqrt im) (* re (+ (* 1/2 (sqrt (/ 1 im))) (* re (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) re)) (* 1/8 (sqrt (/ 1 (pow im 3)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64))) re (sqrt.f64 im))
im
(+ im re)
(+.f64 re im)
(+ im (* re (+ 1 (* 1/2 (/ re im)))))
(fma.f64 (fma.f64 (/.f64 re im) #s(literal 1/2 binary64) #s(literal 1 binary64)) re im)
(+ im (* re (+ 1 (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) im)) re #s(literal 1 binary64)) re im)
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* 2 im) (* 2 re))
(*.f64 #s(literal 2 binary64) (+.f64 re im))
(+ (* 2 im) (* re (+ 2 (/ re im))))
(fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (+ 2 (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) im)) re #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(/ (+ (* 4 (pow re 2)) (pow im 2)) re)
(/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)
(+ (* (sqrt im) (sqrt 2)) (* (sqrt (/ 1 im)) (/ re (sqrt 2))))
(fma.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 (* (pow im 2) (pow (sqrt 2) 4))) (/ 1 (* (pow im 2) (pow (sqrt 2) 2))))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))))) (* (sqrt (/ 1 im)) (/ 1 (sqrt 2))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)) (fma.f64 re (/.f64 (-.f64 (/.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 4 binary64))) (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) re (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 1/2 (log (* 2 im)))
(*.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))
(+ (* 1/2 (log (* 2 im))) (* 1/2 (/ re im)))
(*.f64 #s(literal 1/2 binary64) (+.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) (/.f64 re im)))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* -1/12 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 #s(literal -1/12 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im)) re (*.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(+ (* 1/2 (log (* 2 im))) (* re (+ (* (pow re 2) (- (* 3/80 (/ (pow re 2) (pow im 5))) (* 1/12 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (/.f64 (*.f64 re re) (pow.f64 im #s(literal 5 binary64))) #s(literal 3/80 binary64) (/.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) (/.f64 re im))))
(log (* 2 im))
(log.f64 (*.f64 #s(literal 2 binary64) im))
(+ (log (* 2 im)) (/ re im))
(+.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) (/.f64 re im))
(+ (log (* 2 im)) (* re (+ (* -1/6 (/ (pow re 2) (pow im 3))) (/ 1 im))))
(fma.f64 (fma.f64 #s(literal -1/6 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) im)) re (log.f64 (*.f64 #s(literal 2 binary64) im)))
(+ (log (* 2 im)) (* re (+ (* (pow re 2) (- (* 3/40 (/ (pow re 2) (pow im 5))) (* 1/6 (/ 1 (pow im 3))))) (/ 1 im))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 #s(literal 3/40 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (+.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) (/.f64 re im)))
(* 1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2))))
(*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))
(* 1/2 (* (sqrt re) (pow (sqrt 2) 2)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 re))
(* re (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))) re)
(* re (+ (* -1/32 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64)) (*.f64 #s(literal -1/64 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 2 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))) re)
(* (sqrt re) (pow (sqrt 2) 2))
(*.f64 (sqrt.f64 re) #s(literal 2 binary64))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (pow (sqrt 2) 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* (sqrt re) (sqrt 2))
(*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal 2 binary64)))
(* re (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))))) re)
(* re (+ (* -1/16 (* (/ (pow im 4) (sqrt 2)) (sqrt (/ 1 (pow re 9))))) (+ (* -1/32 (* (/ (pow im 4) (pow (sqrt 2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (sqrt 2))))))
(*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 #s(literal -1/16 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))))) re)
(* 2 re)
(*.f64 #s(literal 2 binary64) re)
(* re (+ 2 (* 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 2 binary64)) re)
(* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64))) re)
(* re (+ 2 (+ (* -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 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(* 4 re)
(*.f64 #s(literal 4 binary64) re)
(* re (+ 4 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2)))))
(*.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) re)
(* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (pow.f64 re #s(literal 6 binary64)))) re)
(* re (+ (* 1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/2 (* (sqrt im) (/ (sqrt 2) re)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 im) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re)
(* 2 (sqrt re))
(*.f64 (sqrt.f64 re) #s(literal 2 binary64))
(* re (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* re (+ (* -1/16 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* -1/64 (* (pow im 4) (sqrt (/ 1 (pow re 9))))) (+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* 2 (sqrt (/ 1 re)))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (pow.f64 im #s(literal 4 binary64))) #s(literal -5/64 binary64) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 2 binary64)))) re)
(* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))
(*.f64 (+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64))) #s(literal 1/2 binary64))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 re re)) im) im (*.f64 (+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re)))))))
(fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 re re)) im) im (*.f64 (+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64))) #s(literal 1/2 binary64))))
(+ (* 1/1440 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ 1 re))))))))
(fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/2 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/1440 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64) (fma.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 re re)) im) im (*.f64 (+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64))) #s(literal 1/2 binary64)))))
(+ (log 4) (* -1 (log (/ 1 re))))
(+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64)))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (* 1/4 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 re re)) im) im (+.f64 (log.f64 re) (log.f64 #s(literal 4 binary64))))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2))))))
(+.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 re re)) im) im (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) (log.f64 re))) (log.f64 #s(literal 4 binary64)))
(+ (log 4) (+ (* -1 (log (/ 1 re))) (+ (* 1/720 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2)))))))
(+.f64 (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/2 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 re re)) im) im (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) (log.f64 re)))) (log.f64 #s(literal 4 binary64)))
(* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* 1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal 1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/32 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/1024 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/64 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* 1/2 (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/1024 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (* (sqrt -1) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64)))) im (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 1/2 binary64)))
(+ (* 1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 1/2 binary64))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 im #s(literal 5 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt -1)) (sqrt 1/2)) (sqrt re))) (+ (* 1/512 (* (/ (* (pow im 5) (sqrt -1)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 3))))) (* 1/32 (* (/ (* (pow im 5) (sqrt -1)) (sqrt 1/2)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64)))) im (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* -1/2 (/ (pow im 2) re))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re))
(/.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re))) (neg.f64 re))
(* -1 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64))))) (neg.f64 re))
(* -1 (/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re))
(/.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal -1/2 binary64) (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64)))))) (neg.f64 re))
(* -1 (/ (pow im 2) re))
(/.f64 (*.f64 (neg.f64 im) im) re)
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (*.f64 im im)) (neg.f64 re))
(* -1 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re))
(/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (neg.f64 re))
(* -1 (/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re))
(/.f64 (-.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 re))
(* -1 (* re (- (* -1 (/ (pow im 2) (pow re 2))) 4)))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -4 binary64)))
(* -1 (* re (+ (* -1/2 (* (sqrt im) (/ (sqrt 2) re))) (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 im))))
(* (* im (sqrt -1)) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* 1/8 (* (* (pow im 3) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) im (*.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3)))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) im (/.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(+ (* -1 (/ (+ (* -1/8 (* (* (pow im 3) (sqrt -1)) (sqrt re))) (+ (* 1/128 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/16 (* (* (pow im 5) (sqrt -1)) (sqrt (/ 1 (pow re 3))))))) (pow re 3))) (* (* im (sqrt -1)) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) im (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 im #s(literal 5 binary64))) #s(literal 9/128 binary64) (*.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64)))))
(* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))
(*.f64 (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))
(fma.f64 (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (*.f64 im im) re)))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2))))))
(fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64) (fma.f64 (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (*.f64 im im) re))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/1440 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ -1 re)) (log (pow im 2)))))))
(fma.f64 (/.f64 (fma.f64 (/.f64 #s(literal -720 binary64) im) (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/4 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/1440 binary64) (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/48 binary64) (fma.f64 (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (*.f64 im im) re)))))
(+ (log (/ -1 re)) (log (pow im 2)))
(+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (* -1/4 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 (/.f64 im re) (/.f64 im re)) #s(literal -1/4 binary64) (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/24 binary64) (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (*.f64 im im) re) (log.f64 (*.f64 im im)))) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (log (/ -1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (+ (* 1/720 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4)))))))
(+.f64 (+.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 #s(literal -720 binary64) im) (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/4 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/720 binary64) (fma.f64 (/.f64 #s(literal -1/4 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/24 binary64)) (pow.f64 re #s(literal 4 binary64))))) (log.f64 (*.f64 im im))) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 #s(literal 1 binary64) (sqrt.f64 re)))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* -1/4 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/8 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (*.f64 #s(literal 1 binary64) (sqrt.f64 re)))
(+ (* 1/2 (* (sqrt re) (pow (sqrt 2) 2))) (* (pow im 2) (+ (* 1/8 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/4 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/4 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal -1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (*.f64 re re))))) #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1/4 binary64) (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/8 binary64))) (*.f64 im im) (*.f64 #s(literal 1 binary64) (sqrt.f64 re)))
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (pow (sqrt 2) 2)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* -1/2 (* (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt (/ 1 re)))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* (sqrt re) (pow (sqrt 2) 2)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))))) (* 1/2 (* (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)) (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal -1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (*.f64 re re))))) #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal -1/2 binary64) (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 1/4 (* (/ (pow im 2) (sqrt 2)) (sqrt (/ 1 (pow re 3))))) (* (sqrt re) (sqrt 2)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal 2 binary64))))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3))))) (sqrt 2)) (sqrt (/ 1 re)))) (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 im im)) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal 2 binary64))))
(+ (* (sqrt re) (sqrt 2)) (* (pow im 2) (+ (* 1/4 (* (sqrt (/ 1 (pow re 3))) (/ 1 (sqrt 2)))) (* (pow im 2) (+ (* -1/2 (* (sqrt (/ 1 re)) (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (sqrt 2)))) (* 1/2 (* (/ (* (pow im 2) (- (* 1/16 (/ 1 (pow re 5))) (* -1/4 (/ (+ (* 1/16 (/ 1 (* (pow re 3) (pow (sqrt 2) 2)))) (* 1/8 (/ 1 (pow re 3)))) (* (pow re 2) (pow (sqrt 2) 2)))))) (sqrt 2)) (sqrt (/ 1 re)))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal -1/8 binary64) (/.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (*.f64 re re)))) (*.f64 im im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/16 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/2 binary64))) (*.f64 im im) (*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/2 (/ (pow im 2) re)) (* 2 re))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 re) (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ (* 2 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 (*.f64 im im) (pow.f64 re #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) (*.f64 #s(literal 2 binary64) re))
(+ (* 4 re) (/ (pow im 2) re))
(fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re))
(+ (* 4 re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re))))
(fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 3 binary64))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(+ (* 4 re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 5 binary64))) #s(literal 1/8 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(/ (+ (* 1/4 (* (sqrt im) (* re (sqrt 2)))) (* 1/2 (* (sqrt (pow im 3)) (sqrt 2)))) im)
(/.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 im)) re) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (pow.f64 im #s(literal 3 binary64))))) im)
(+ (* 1/4 (* (pow im 2) (sqrt (/ 1 (pow re 3))))) (* 2 (sqrt re)))
(fma.f64 (*.f64 (*.f64 im im) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* -5/64 (* (pow im 2) (sqrt (/ 1 (pow re 7))))) (* 1/4 (sqrt (/ 1 (pow re 3)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -5/64 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(+ (* 2 (sqrt re)) (* (pow im 2) (+ (* 1/4 (sqrt (/ 1 (pow re 3)))) (* (pow im 2) (+ (* -5/64 (sqrt (/ 1 (pow re 7)))) (* 21/512 (* (pow im 2) (sqrt (/ 1 (pow re 11))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 21/512 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 11 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64)))) #s(literal -5/64 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(* 1/2 (log (* 4 re)))
(*.f64 (log.f64 (*.f64 #s(literal 4 binary64) re)) #s(literal 1/2 binary64))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (log (* 4 re))))
(fma.f64 (log.f64 (*.f64 #s(literal 4 binary64) re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 re re)) im) im))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* -3/64 (/ (pow im 2) (pow re 4))) (* 1/8 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) #s(literal -3/64 binary64) (/.f64 #s(literal 1/8 binary64) (*.f64 re re))) (*.f64 im im) (*.f64 (log.f64 (*.f64 #s(literal 4 binary64) re)) #s(literal 1/2 binary64)))
(+ (* 1/2 (log (* 4 re))) (* (pow im 2) (+ (* (pow im 2) (- (* 5/192 (/ (pow im 2) (pow re 6))) (* 3/64 (/ 1 (pow re 4))))) (* 1/8 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 6 binary64))) #s(literal 5/192 binary64) (/.f64 #s(literal -3/64 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/8 binary64) (*.f64 re re))) (*.f64 im im) (*.f64 (log.f64 (*.f64 #s(literal 4 binary64) re)) #s(literal 1/2 binary64)))
(log (* 4 re))
(log.f64 (*.f64 #s(literal 4 binary64) re))
(+ (log (* 4 re)) (* 1/4 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 re re)) im) im (log.f64 (*.f64 #s(literal 4 binary64) re)))
(+ (log (* 4 re)) (* (pow im 2) (+ (* -3/32 (/ (pow im 2) (pow re 4))) (* 1/4 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 #s(literal -3/32 binary64) (/.f64 (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (*.f64 im im) (log.f64 (*.f64 #s(literal 4 binary64) re)))
(+ (log (* 4 re)) (* (pow im 2) (+ (* (pow im 2) (- (* 5/96 (/ (pow im 2) (pow re 6))) (* 3/32 (/ 1 (pow re 4))))) (* 1/4 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 5/96 binary64) (/.f64 (*.f64 im im) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -3/32 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/4 binary64) (*.f64 re re))) (*.f64 im im) (log.f64 (*.f64 #s(literal 4 binary64) re)))
(* (sqrt (/ 1 im)) (sqrt 2))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt (/ 1 im))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) im)
(* im (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))) im)
(* im (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/16 binary64) (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (sqrt (/ 1 im)) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) im)
(* im (+ (sqrt (/ 1 im)) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) im)
(* im (+ (sqrt (/ 1 im)) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (pow re 2))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) re))))))
(*.f64 (fma.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/8 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) im)
(* im (+ 1 (/ re im)))
(fma.f64 (/.f64 re im) im im)
(* im (+ 1 (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im))))
(fma.f64 (fma.f64 (*.f64 (/.f64 re im) re) (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) im im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/2 (/ (pow re 2) (pow im 2))) (/ re im)))))
(fma.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 re im) re) (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im))) im im)
(* im (+ 2 (* 2 (/ re im))))
(*.f64 (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)) im)
(* im (+ 2 (+ (* 2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64))) im)
(* im (+ 2 (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 2 (/ re im)) (/ (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/4 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))) im)
(* (pow im 2) (+ (* 4 (/ re (pow im 2))) (/ 1 re)))
(*.f64 (*.f64 (fma.f64 (/.f64 re (*.f64 im im)) #s(literal 4 binary64) (/.f64 #s(literal 1 binary64) re)) im) im)
(* im (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))
(*.f64 (fma.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2))))))
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64) (fma.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (pow (sqrt 2) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (sqrt 2)) (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))))))
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64) (fma.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))) im)
(* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))
(*.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))
(*.f64 #s(literal 1/2 binary64) (+.f64 (+.f64 (log.f64 im) (/.f64 re im)) (log.f64 #s(literal 2 binary64))))
(+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im))))
(fma.f64 #s(literal 1/2 binary64) (+.f64 (+.f64 (log.f64 im) (/.f64 re im)) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 0 binary64) (*.f64 im im)))
(+ (* 1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (+ (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))) (* 1/2 (/ re im)))))
(fma.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/12 binary64) (fma.f64 #s(literal 1/2 binary64) (+.f64 (+.f64 (log.f64 im) (/.f64 re im)) (log.f64 #s(literal 2 binary64))) (/.f64 #s(literal 0 binary64) (*.f64 im im))))
(+ (log 2) (* -1 (log (/ 1 im))))
(+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (/ re im)))
(+.f64 (+.f64 (log.f64 im) (/.f64 re im)) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im))))
(+.f64 (+.f64 (+.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 re im)) (log.f64 im)) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* 1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) (pow im 3))) (+ (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (/ re im)))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/6 binary64) (+.f64 (+.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 re im)) (log.f64 im))) (log.f64 #s(literal 2 binary64)))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/4 binary64))))
(* -1 (* im (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1/8 binary64) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (-.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1/4 binary64))) (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/16 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (sqrt.f64 #s(literal 2 binary64)))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (-.f64 (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/8 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(* -1 (* (sqrt im) (sqrt -1)))
(*.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 im))
(* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1)))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt -1)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (sqrt -1)))) (* 1/4 (* (sqrt im) (* (pow re 2) (sqrt -1))))) (pow im 3))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt -1)))) (* (sqrt (/ 1 im)) (sqrt -1))))))
(*.f64 (neg.f64 im) (-.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re) (sqrt.f64 im)) #s(literal 3/8 binary64)) (pow.f64 im #s(literal 3 binary64)))))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* -1 (/ re im)))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 re im)) (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1/2 (/ (pow re 2) im))) im)))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (/.f64 re im) re) #s(literal -1/2 binary64) re) im)) (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (+ re (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im))) im)))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 re (/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) im)) im)) (neg.f64 im))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* -2 (/ re im)))))
(*.f64 (fma.f64 #s(literal -2 binary64) (/.f64 re im) #s(literal 2 binary64)) (neg.f64 im))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (pow re 2) im)) (* 2 re)) im)))))
(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) re (/.f64 (*.f64 (neg.f64 re) re) im)) im)) (neg.f64 im))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im)) (* 2 re)) im)))))
(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) re (/.f64 (fma.f64 (/.f64 #s(literal -1/4 binary64) im) (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (*.f64 re re)) (neg.f64 im))) im)) (neg.f64 im))
(* -1/2 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (pow (sqrt -1) 2) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 2 binary64))) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) (neg.f64 im))
(* -1 (* im (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (sqrt.f64 #s(literal 2 binary64)))) (neg.f64 im))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (sqrt.f64 #s(literal 2 binary64))))) (neg.f64 im))
(* -1 (* im (+ (* -1 (/ (+ (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (pow (sqrt 2) 3))))) (pow im 3))) (+ (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))) (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))))))
(*.f64 (fma.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (fma.f64 (*.f64 re re) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (/.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))))) (neg.f64 im))
(* 1/2 (+ (log 2) (* -1 (log (/ -1 im)))))
(*.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64))
(+ (* -1/2 (/ re im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(fma.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 re im)))
(+ (* -1 (/ (+ (* -1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(fma.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) re (/.f64 #s(literal 0 binary64) im)) (neg.f64 im)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/12 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/4 (+ (* -1 (pow re 2)) (pow re 2)))) im)) (* 1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(fma.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) re (/.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64)) im) #s(literal -1/12 binary64) #s(literal 0 binary64)) (neg.f64 im))) (neg.f64 im)))
(+ (log 2) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ re im))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) (/.f64 re im))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) (/.f64 (+.f64 (/.f64 #s(literal 0 binary64) im) re) im))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ re (* -1 (/ (+ (* -1/6 (/ (+ (* -3 (pow re 3)) (* 2 (pow re 3))) im)) (* 1/2 (+ (* -1 (pow re 2)) (pow re 2)))) im))) im))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) (/.f64 (-.f64 re (/.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal -1 binary64)) im) #s(literal -1/6 binary64) #s(literal 0 binary64)) im)) im))
(* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2)))
(*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))
(* (sqrt (/ 1 im)) (pow (sqrt -1) 2))
(*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))
(* 1/4 (* (sqrt (/ 1 im)) (* re (* (pow (sqrt -1) 2) (sqrt 2)))))
(*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 2 binary64))) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))

rewrite192.0ms (3.1%)

Memory
2.6MiB live, 190.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049361
076348
1230337
21234337
08222260
Stop Event
iter limit
node limit
iter limit
Counts
23 → 222
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)))
(exp.f64 (*.f64 (log.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) #s(literal 1/2 binary64)))
#s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (sqrt.f64 (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (sqrt.f64 (*.f64 #s(literal 2 binary64) im))))
#s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (sqrt.f64 (*.f64 #s(literal 2 binary64) im)))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(literal 2 binary64) im))
(exp.f64 (fma.f64 (log.f64 im) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (log.f64 im) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(*.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))
(*.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re))) (pow.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)) #s(literal -1 binary64)))
(*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 16 binary64) (*.f64 re re) (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) re)))))
(*.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (fma.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (*.f64 (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re))))) (neg.f64 (neg.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) (pow.f64 (*.f64 #s(literal 4 binary64) re) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re))) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (*.f64 #s(literal 4096 binary64) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) (+.f64 (pow.f64 (*.f64 #s(literal 4 binary64) re) #s(literal 4 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) re) #s(literal 2 binary64)))) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (*.f64 #s(literal 4096 binary64) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)) (*.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 9 binary64)) (pow.f64 (*.f64 #s(literal 4 binary64) re) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 6 binary64)) (-.f64 (*.f64 #s(literal 4096 binary64) (pow.f64 re #s(literal 6 binary64))) (*.f64 (pow.f64 (*.f64 (*.f64 (/.f64 im re) im) re) #s(literal 3 binary64)) #s(literal 64 binary64)))) (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (*.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)) (*.f64 #s(literal 16 binary64) (*.f64 re re)))) (*.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(/.f64 (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re)))) (neg.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 16 binary64) (*.f64 re re) (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) re)))))
(/.f64 (neg.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 #s(literal 16 binary64) (*.f64 re re))) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))
(/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))) (fma.f64 #s(literal 16 binary64) (*.f64 re re) (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) re))))
(/.f64 (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 4 binary64) re) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im)) (-.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal 16 binary64) (*.f64 re re) (-.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (/.f64 im re) im) #s(literal 4 binary64)) re))) (fma.f64 #s(literal 64 binary64) (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))
(fma.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 im) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 im (neg.f64 im)) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (*.f64 (neg.f64 im) im) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (neg.f64 (*.f64 im im)) (/.f64 #s(literal -1 binary64) re) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 im im) (*.f64 #s(literal 4 binary64) re))
(fma.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (pow.f64 (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))
(fma.f64 #s(literal 1 binary64) (*.f64 (/.f64 im re) im) (*.f64 #s(literal 4 binary64) re))
(fma.f64 #s(literal 4 binary64) re (*.f64 (/.f64 im re) im))
(fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))
(fma.f64 re #s(literal 4 binary64) (*.f64 (/.f64 im re) im))
(fma.f64 (*.f64 im im) (pow.f64 re #s(literal -1 binary64)) (*.f64 #s(literal 4 binary64) re))
(fma.f64 im (/.f64 im re) (*.f64 #s(literal 4 binary64) re))
(-.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im))) (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im))))
(-.f64 (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))))
(+.f64 (/.f64 (pow.f64 (*.f64 (/.f64 im re) im) #s(literal 2 binary64)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re))) (neg.f64 (/.f64 (*.f64 #s(literal 16 binary64) (*.f64 re re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal -4 binary64) re)))))
(+.f64 (*.f64 (/.f64 im re) im) (*.f64 #s(literal 4 binary64) re))
(+.f64 (*.f64 #s(literal 4 binary64) re) (*.f64 (/.f64 im re) im))
(*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))
(*.f64 (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))))
(*.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))))))
(*.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (pow.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))))))
(*.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (fma.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (*.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))) (neg.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64))))) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))))
(/.f64 (*.f64 (fma.f64 #s(literal 1/512 binary64) (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3 binary64)) (-.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))) #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (*.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (*.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64))) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))) (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64) (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))) (fma.f64 (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 3/2 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) re) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) re) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) re (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 re (sqrt.f64 im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))))
(fma.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (pow.f64 im #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/4 binary64) re) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/4 binary64) (*.f64 re (sqrt.f64 (/.f64 #s(literal 2 binary64) im))) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (sqrt.f64 im) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(fma.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (/.f64 re (sqrt.f64 im))) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(fma.f64 re (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(-.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))) (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))
(-.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))))
(+.f64 (/.f64 (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))) (neg.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/4 binary64) re)) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/2 binary64))) (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (/.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64))) (/.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (pow.f64 im #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal -1/2 binary64)))
(pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (neg.f64 (sqrt.f64 im)))
(/.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (neg.f64 im)))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(sqrt.f64 (/.f64 #s(literal 2 binary64) im))
(exp.f64 (-.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (log.f64 im) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (neg.f64 (log.f64 im)) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (neg.f64 (log.f64 im)) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (pow.f64 im #s(literal -1/2 binary64))) (sqrt.f64 (pow.f64 im #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (pow.f64 im #s(literal -1/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 im #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 im #s(literal 1/4 binary64)) #s(literal -1 binary64)) (pow.f64 (pow.f64 im #s(literal 1/4 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 im #s(literal -1/4 binary64)) (pow.f64 im #s(literal -1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 im))))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal -1 binary64) im)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 im))))
(*.f64 (pow.f64 im #s(literal -1/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 im #s(literal -1/2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -1/2 binary64)))
(pow.f64 (*.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 im #s(literal -1 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 im #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 im) #s(literal -1 binary64))
(pow.f64 im #s(literal -1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (neg.f64 (sqrt.f64 (neg.f64 im))))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 im)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 im)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (sqrt.f64 im))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 im))
(sqrt.f64 (pow.f64 im #s(literal -1 binary64)))
(fabs.f64 (pow.f64 im #s(literal -1/2 binary64)))
(exp.f64 (neg.f64 (*.f64 (log.f64 im) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 1/2 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 im)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (neg.f64 (log.f64 im)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) re) #s(literal 1/4 binary64))
(*.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) re) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 im #s(literal -1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) re)
(*.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 re (sqrt.f64 im))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))
(*.f64 (pow.f64 im #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) re)))
(*.f64 (*.f64 #s(literal 1/4 binary64) re) (sqrt.f64 (/.f64 #s(literal 2 binary64) im)))
(*.f64 #s(literal 1/4 binary64) (*.f64 re (sqrt.f64 (/.f64 #s(literal 2 binary64) im))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (/.f64 re (sqrt.f64 im))))
(*.f64 re (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)))
(/.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
#s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(exp.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))

eval61.0ms (1%)

Memory
-3.7MiB live, 117.4MiB allocated
Compiler

Compiled 17 248 to 2 281 computations (86.8% saved)

prune23.0ms (0.4%)

Memory
14.6MiB live, 52.8MiB allocated
Pruning

24 alts after pruning (11 fresh and 13 done)

PrunedKeptTotal
New4328440
Fresh033
Picked145
Done099
Total43324457
Accuracy
94.3%
Counts
457 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.5%
(*.f64 (pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
45.3%
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
51.9%
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
29.6%
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal 2 binary64) re))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
80.5%
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
52.2%
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
49.0%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
15.7%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 (neg.f64 im) im) re))) #s(literal 1/2 binary64))
18.8%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (neg.f64 im) (/.f64 re im)))) #s(literal 1/2 binary64))
18.8%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
48.9%
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
45.8%
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
16.6%
(*.f64 (exp.f64 (*.f64 #s(approx (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
45.7%
(*.f64 (exp.f64 (*.f64 #s(approx (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
48.6%
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
48.4%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
7.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
29.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
19.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
48.5%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) re) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))
48.2%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))
44.6%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))
44.7%
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))))
29.7%
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
Compiler

Compiled 1 458 to 637 computations (56.3% saved)

regimes102.0ms (1.6%)

Memory
-11.5MiB live, 105.5MiB allocated
Counts
36 → 2
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* re re) (* im im))) re) (+.f64 im re)))))
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))))
(*.f64 #s(approx (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re)))))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (neg.f64 im) (/.f64 im re)))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 (neg.f64 im) im) re))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (+.f64 re im))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal 2 binary64) re))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 4 binary64) re (/.f64 (*.f64 im im) re)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (neg.f64 im) (/.f64 re im)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))))
(*.f64 (sqrt.f64 #s(approx (* (+ (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (+ (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))))))
(*.f64 (sqrt.f64 (*.f64 #s(approx (+ (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 im im) re))) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) #s(approx (+ (* 4 re) (/ (* im im) re)) (/.f64 (fma.f64 #s(literal 4 binary64) (*.f64 re re) (*.f64 im im)) re)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)) re))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) re) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re))))
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64)))))
#s(approx (* (sqrt (* (+ (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) re) #s(literal 2 binary64)) im) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) im)) (*.f64 #s(literal 1/4 binary64) re)) (*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) im)) #s(literal 1/2 binary64))))))
(*.f64 (pow.f64 (pow.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(literal 1/2 binary64))
(*.f64 (exp.f64 (*.f64 #s(approx (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (exp.f64 (*.f64 #s(approx (log (* 2 (+ (sqrt (+ (* re re) (* im im))) re))) (+.f64 (log.f64 (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re)))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
Calls

7 calls:

24.0ms
(*.f64 im im)
21.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
15.0ms
im
10.0ms
re
10.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Results
AccuracySegmentsBranch
85.4%2re
80.5%1im
85.4%2(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
85.4%2(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
84.3%2(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
84.3%2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
80.5%1(*.f64 im im)
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes65.0ms (1%)

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

7 calls:

11.0ms
(*.f64 im im)
10.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
9.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
8.0ms
im
8.0ms
re
Results
AccuracySegmentsBranch
67.7%4im
64.4%2(*.f64 im im)
71.0%3(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
71.0%3(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
72.0%3(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
72.0%3(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
78.7%4re
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes8.0ms (0.1%)

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

1 calls:

7.0ms
re
Results
AccuracySegmentsBranch
75.4%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes16.0ms (0.3%)

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

1 calls:

15.0ms
re
Results
AccuracySegmentsBranch
75.1%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes6.0ms (0.1%)

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

1 calls:

5.0ms
re
Results
AccuracySegmentsBranch
75.1%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes16.0ms (0.3%)

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

5 calls:

3.0ms
re
3.0ms
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
3.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
3.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
3.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
52.2%1(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
52.2%1(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
54.0%2(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
54.0%2(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
67.3%2re
Compiler

Compiled 51 to 40 computations (21.6% saved)

regimes10.0ms (0.2%)

Memory
-15.6MiB live, 23.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

7 calls:

2.0ms
im
1.0ms
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
1.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
1.0ms
re
1.0ms
(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
29.7%1(*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
29.7%1(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
29.7%1(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
29.7%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
29.7%1(*.f64 im im)
29.7%1im
29.7%1re
Compiler

Compiled 55 to 45 computations (18.2% saved)

bsearch23.0ms (0.4%)

Memory
-1.3MiB live, 36.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
21.0ms
-4.1372364115048263e+102
-4.6335095174373334e+101
Samples
6.0ms33×2valid
6.0ms19×3valid
3.0ms24×1valid
1.0ms20×0valid
Compiler

Compiled 210 to 176 computations (16.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-hypot: 7.0ms (52.8% of total)
ival-mult: 2.0ms (15.1% of total)
ival-sqrt: 2.0ms (15.1% of total)
adjust: 1.0ms (7.5% of total)
ival-add: 1.0ms (7.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch70.0ms (1.1%)

Memory
3.4MiB live, 116.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
3.9759340135665303e+62
2.6734969846738747e+66
21.0ms
8.59110598575428e-142
1.0719832529735314e-135
28.0ms
-1.671679616323431e+90
-3.797782495537331e+87
Samples
25.0ms305×0valid
11.0ms35×3valid
6.0ms35×2valid
3.0ms25×1valid
Compiler

Compiled 1 066 to 821 computations (23% saved)

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

bsearch22.0ms (0.4%)

Memory
12.1MiB live, 46.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
3.9000300642780033e-82
2.6818507590964146e-76
1.0ms
-1.671679616323431e+90
-3.797782495537331e+87
Samples
13.0ms144×0valid
Compiler

Compiled 852 to 635 computations (25.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 2.0ms (34.9% of total)
ival-hypot: 2.0ms (34.9% of total)
ival-add: 1.0ms (17.5% of total)
ival-sqrt: 1.0ms (17.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch3.0ms (0%)

Memory
5.7MiB live, 5.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
3.9000300642780033e-82
2.6818507590964146e-76
1.0ms
-1.671679616323431e+90
-3.797782495537331e+87
Compiler

Compiled 733 to 584 computations (20.3% saved)

bsearch17.0ms (0.3%)

Memory
-1.9MiB live, 36.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
3.9000300642780033e-82
2.6818507590964146e-76
1.0ms
-1.671679616323431e+90
-3.797782495537331e+87
Samples
7.0ms112×0valid
Compiler

Compiled 679 to 557 computations (18% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-hypot: 2.0ms (44.8% of total)
ival-mult: 1.0ms (22.4% of total)
ival-sqrt: 1.0ms (22.4% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
4.6MiB live, 4.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
3.9000300642780033e-82
2.6818507590964146e-76
Compiler

Compiled 351 to 293 computations (16.5% saved)

simplify30.0ms (0.5%)

Memory
-7.4MiB live, 81.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070413
190413
298413
3108413
4113413
5116413
6117413
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 re #s(literal -599999999999999986229707959147201977068105631954490003677997584839196071308473946781956776688906928128 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 8409377133659997/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))) (if (<=.f64 re #s(literal 2550000000000000038290550463468779924127674411854197398059293343744 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))))
(if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re)))
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))
Outputs
(if (<=.f64 re #s(literal -599999999999999986229707959147201977068105631954490003677997584839196071308473946781956776688906928128 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(if (<=.f64 re #s(literal -599999999999999986229707959147201977068105631954490003677997584839196071308473946781956776688906928128 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 (neg.f64 im) re) im))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (*.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 8409377133659997/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))) (if (<=.f64 re #s(literal 2550000000000000038290550463468779924127674411854197398059293343744 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re))))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 (neg.f64 im) re) im))) #s(literal 1/2 binary64)) (if (<=.f64 re #s(literal 8409377133659997/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64))))) #s(literal 1/2 binary64)) (if (<=.f64 re #s(literal 2550000000000000038290550463468779924127674411854197398059293343744 binary64)) (*.f64 (sqrt.f64 (*.f64 (+.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 (neg.f64 im) re) im))) #s(literal 1/2 binary64)) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (+.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64))))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 (neg.f64 im) re) im))) #s(literal 1/2 binary64)) (if (<=.f64 re #s(literal 3666664757402075/16296287810675888690147565507275025288411747149327490005089123594835050398106693649467179008 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (/.f64 im re) im (*.f64 #s(literal 4 binary64) re)))) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (/.f64 im re))))) (if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))))
(if (<=.f64 re #s(literal -89999999999999998114352265849916975417577148811279145397760407758222311187192099589062656 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 (/.f64 (neg.f64 im) re) im))) #s(literal 1/2 binary64)) (if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64)) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))))
(if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re)))
(if (<=.f64 re #s(literal 4276145921521353/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (+ (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64)) #s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re)))
#s(approx (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* im im))) re)))) (sqrt.f64 re))

soundness541.0ms (8.7%)

Memory
-5.8MiB live, 438.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05002884
116592707
259102687
080802521
038255
063199
1184198
21013198
08506198
01265
02065
16165
239865
3422565
0834438
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 697 to 280 computations (59.8% saved)

preprocess61.0ms (1%)

Memory
19.1MiB live, 93.8MiB allocated
Remove

(abs im)

Compiler

Compiled 1 006 to 262 computations (74% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...