math.sqrt on complex, imaginary part, im greater than 0 branch

Time bar (total: 6.1s)

start0.0ms (0%)

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

analyze96.0ms (1.6%)

Memory
-28.2MiB live, 106.2MiB allocated; 22ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
50%25%25%50%0%0%0%2
50%25%25%50%0%0%0%3
62.5%31.2%18.7%50%0%0%0%4
62.5%31.2%18.7%50%0%0%0%5
68.8%34.3%15.6%50%0%0%0%6
68.8%34.3%15.6%50%0%0%0%7
71.9%35.9%14%50%0%0%0%8
71.9%35.9%14%50%0%0%0%9
73.4%36.7%13.3%50%0%0%0%10
73.4%36.7%13.3%50%0%0%0%11
74.2%37.1%12.9%50%0%0%0%12
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.9s (31.4%)

Memory
3.8MiB live, 1 840.0MiB allocated; 1.0s collecting garbage
Samples
566.0ms6 266×0valid
257.0ms792×2valid
175.0ms428×3valid
140.0ms770×1valid
Precisions
Click to see histograms. Total time spent on operations: 840.0ms
ival-hypot: 296.0ms (35.2% of total)
ival-mult: 206.0ms (24.5% of total)
ival-sqrt: 134.0ms (15.9% of total)
adjust: 96.0ms (11.4% of total)
ival-sub: 71.0ms (8.4% of total)
ival->: 22.0ms (2.6% of total)
exact: 12.0ms (1.4% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain244.0ms (4%)

Memory
17.9MiB live, 359.9MiB allocated; 48ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1270-2(2.7596656185332056e-255 2.759379804242406e-162)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
260-0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
240-1(1.4336676041372554e-90 4.838547031860264e-203)(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 #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-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-rescue1100
(+.f64 (*.f64 re re) (*.f64 im im))overflow110
(*.f64 re re)overflow59
(*.f64 im im)overflow67
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation260
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))uflow-rescue230
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))underflow33
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))underflow10
(*.f64 re re)underflow66
(*.f64 im im)underflow63
(+.f64 (*.f64 re re) (*.f64 im im))underflow15
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)underflow33
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue150
(+.f64 (*.f64 re re) (*.f64 im im))underflow15
(*.f64 re re)underflow66
(*.f64 im im)underflow63
Confusion
Predicted +Predicted -
+1542
-0100
Precision
1.0
Recall
0.9871794871794872
Confusion?
Predicted +Predicted MaybePredicted -
+15402
-00100
Precision?
1.0
Recall?
0.9871794871794872
Freqs
test
numberfreq
0102
1134
220
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
75.0ms394×0valid
13.0ms48×2valid
12.0ms42×1valid
11.0ms28×3valid
Compiler

Compiled 169 to 40 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 79.0ms
ival-sub: 29.0ms (36.9% of total)
ival-mult: 21.0ms (26.7% of total)
ival-hypot: 14.0ms (17.8% of total)
adjust: 6.0ms (7.6% of total)
ival-sqrt: 5.0ms (6.4% of total)
ival-add: 3.0ms (3.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess227.0ms (3.7%)

Memory
-15.9MiB live, 219.4MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03077
17777
216477
324177
438877
597877
6646577
01215
02015
13615
28615
316515
425315
550515
6270815
0822910
Stop Event
iter limit
node limit
iter limit
node 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))))
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.0MiB live, 0.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.9%
(*.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)

simplify130.0ms (2.1%)

Memory
24.4MiB live, 113.1MiB allocated; 11ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
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-diff1
(+.f64 (*.f64 re re) (*.f64 im im))
cost-diff4
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01275
02075
13675
28675
316575
425375
550575
6270875
0822949
Stop Event
iter limit
node limit
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

localize104.0ms (1.7%)

Memory
-32.9MiB live, 106.5MiB allocated; 22ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
accuracy5.3589016213394505
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
accuracy6.070438013751313
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
accuracy29.485606868643035
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
40.0ms197×0valid
21.0ms14×3valid
6.0ms24×2valid
4.0ms21×1valid
Compiler

Compiled 77 to 14 computations (81.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-hypot: 13.0ms (46.2% of total)
ival-mult: 7.0ms (24.9% of total)
adjust: 3.0ms (10.7% of total)
ival-sub: 2.0ms (7.1% of total)
ival-sqrt: 2.0ms (7.1% of total)
ival-add: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series33.0ms (0.5%)

Memory
7.1MiB live, 53.6MiB allocated; 3ms collecting garbage
Counts
6 → 113
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.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 (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))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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)))
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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 im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* 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/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/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 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))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 1 (* -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 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1/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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
Calls

6 calls:

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

simplify179.0ms (2.9%)

Memory
-1.6MiB live, 147.3MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

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

rewrite64.0ms (1.1%)

Memory
-8.2MiB live, 90.5MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01265
02065
16765
055738
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
6 → 192
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.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 (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))
Outputs
(*.f64 (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 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 (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)))))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) re)
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) re)
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) im)
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) im)
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) re)
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) im)
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (neg.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) re)
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (neg.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) im)
(hypot.f64 (neg.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (fabs.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 im (neg.f64 (neg.f64 re)))
(hypot.f64 im (neg.f64 (fabs.f64 re)))
(hypot.f64 im (fabs.f64 (fabs.f64 re)))
(hypot.f64 im (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(hypot.f64 im re)
(hypot.f64 re (neg.f64 (neg.f64 im)))
(hypot.f64 re (neg.f64 (fabs.f64 im)))
(hypot.f64 re (fabs.f64 (fabs.f64 im)))
(hypot.f64 re (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (hypot.f64 im re)) (neg.f64 (hypot.f64 im re)))
(*.f64 (fabs.f64 (hypot.f64 im re)) (fabs.f64 (hypot.f64 im re)))
(*.f64 (hypot.f64 im re) (hypot.f64 im re))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 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 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (*.f64 im im) (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (*.f64 (neg.f64 im) im) #s(literal 3 binary64))) (+.f64 (pow.f64 re #s(literal 4 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 re re) (*.f64 (neg.f64 im) im)))))
(/.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 re im))))
(/.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 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (+.f64 re im) (-.f64 re im)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 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 re im) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(fma.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)) (*.f64 re re))
(fma.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)) (*.f64 re re))
(fma.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)) (*.f64 im im))
(fma.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)) (*.f64 im im))
(fma.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)) (*.f64 re re))
(fma.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)) (*.f64 im im))
(fma.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)) (*.f64 re re))
(fma.f64 (pow.f64 im #s(literal 1 binary64)) im (*.f64 re re))
(fma.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)) (*.f64 im im))
(fma.f64 (pow.f64 re #s(literal 1 binary64)) re (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (pow.f64 re #s(literal 1 binary64)) re (*.f64 im im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (fabs.f64 re) (fabs.f64 re) (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 (fabs.f64 re) (fabs.f64 re) (*.f64 im im))
(fma.f64 (fabs.f64 im) (fabs.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 (neg.f64 (neg.f64 im)) im))
(fma.f64 re re (*.f64 im im))
(sqrt.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 2 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 im im) (*.f64 (neg.f64 (neg.f64 re)) (neg.f64 re)))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 re)))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re (neg.f64 re)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 (neg.f64 im)) (neg.f64 im)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 im)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (/.f64 (pow.f64 re #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 (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 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 (neg.f64 im)) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (-.f64 (hypot.f64 im re) re)))
(*.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 (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 (*.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)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (+.f64 (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 2 binary64)) (*.f64 re re)) (+.f64 (hypot.f64 im re) re))
(/.f64 (-.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 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (/.f64 (*.f64 re re) (+.f64 (hypot.f64 im re) re)))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im 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 (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 (hypot.f64 im re) re)
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 #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 (-.f64 (hypot.f64 im re) re) (-.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 (hypot.f64 im re) re)))
(/.f64 (+.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 3 binary64)) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 3 binary64))) (fma.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re) (-.f64 (*.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re)) (*.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re)))))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 (hypot.f64 im re) re))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 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 (fma.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)) (+.f64 (hypot.f64 im re) re) (*.f64 (+.f64 (hypot.f64 im re) re) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (+.f64 (hypot.f64 im re) re) (+.f64 (hypot.f64 im re) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 im re) re) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (+.f64 (hypot.f64 im re) re) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (+.f64 (hypot.f64 im re) re) (*.f64 (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (+.f64 (hypot.f64 im re) re)))
(/.f64 (fma.f64 (-.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 (fma.f64 re (+.f64 (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 (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (fma.f64 re (+.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 im re) re) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 im re) re)))
(fma.f64 (-.f64 (hypot.f64 im re) re) #s(literal 1 binary64) (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 1 binary64)))
(-.f64 (+.f64 (-.f64 (hypot.f64 im re) re) (hypot.f64 im re)) re)
(-.f64 (hypot.f64 im re) (-.f64 re (-.f64 (hypot.f64 im re) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 im re) re)) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 im re) re)))
(+.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 1 binary64)) (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 1 binary64)))
(+.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re))

eval39.0ms (0.6%)

Memory
44.1MiB live, 89.8MiB allocated; 4ms collecting garbage
Compiler

Compiled 7 761 to 1 853 computations (76.1% saved)

prune14.0ms (0.2%)

Memory
-10.7MiB live, 34.4MiB allocated; 5ms collecting garbage
Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New29013303
Fresh000
Picked101
Done000
Total29113304
Accuracy
99.9%
Counts
304 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
82.0%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
81.5%
(*.f64 #s(literal 1/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))))
41.9%
(*.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.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
56.0%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
53.6%
(*.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)))))
14.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
53.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
26.1%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
17.5%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)))
24.9%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))))
53.1%
(*.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))))
24.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 604 to 440 computations (27.2% saved)

simplify101.0ms (1.7%)

Memory
-16.5MiB live, 123.0MiB allocated; 22ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))
cost-diff0
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) 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))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
cost-diff4
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) 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-diff4
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
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 (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
cost-diff0
(*.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))))
cost-diff0
(*.f64 #s(literal -4 binary64) re)
cost-diff0
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
cost-diff0
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.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)) (*.f64 #s(literal -4 binary64) 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
042355
073295
1116295
2248295
3644295
41768277
54042277
08397271
Stop Event
iter limit
node limit
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)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
#s(literal -4 binary64)
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))))
#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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 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
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))
#s(literal 2 binary64)
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
(*.f64 re #s(literal 1/2 binary64))
re
(*.f64 (/.f64 im re) (/.f64 im re))
(/.f64 im re)
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)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.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)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
#s(literal -4 binary64)
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 (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#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)))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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
(*.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
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im 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 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)))
(sqrt.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))
(*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)) re) #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(*.f64 re #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) re)
re
(*.f64 (/.f64 im re) (/.f64 im re))
(*.f64 (/.f64 (/.f64 im re) re) im)
(/.f64 im re)
im

localize117.0ms (1.9%)

Memory
36.2MiB live, 177.7MiB allocated; 17ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy3.25926119213439
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
accuracy5.3589016213394505
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)))
accuracy6.070438013751313
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)
accuracy47.68057531832309
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
accuracy5.3589016213394505
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
accuracy6.070438013751313
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
accuracy29.485606868643035
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
accuracy0.0
(sqrt.f64 im)
accuracy0.0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.5228500976844204
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
accuracy29.704898896351747
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
accuracy0.0
(*.f64 #s(literal -4 binary64) re)
accuracy5.3589016213394505
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
accuracy46.85390878192845
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
accuracy0.0
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
accuracy0.00390625
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
accuracy5.3589016213394505
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
accuracy6.070438013751313
(-.f64 (hypot.f64 im re) re)
Samples
58.0ms197×0valid
17.0ms24×2valid
11.0ms14×3valid
8.0ms21×1valid
Compiler

Compiled 310 to 29 computations (90.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
ival-mult: 21.0ms (32.4% of total)
ival-hypot: 13.0ms (20.1% of total)
ival-sqrt: 13.0ms (20.1% of total)
adjust: 9.0ms (13.9% of total)
ival-sub: 3.0ms (4.6% of total)
ival-div: 2.0ms (3.1% of total)
ival-add: 2.0ms (3.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series17.0ms (0.3%)

Memory
-23.8MiB live, 21.6MiB allocated; 4ms collecting garbage
Counts
24 → 114
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)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) 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))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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))
(sqrt.f64 (fma.f64 re re (*.f64 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))))
(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))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))
(sqrt.f64 im)
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* -4 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/2 (/ (pow im 2) re))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(/ (pow im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* 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)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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 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 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (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)))))
(sqrt im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (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 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (* -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 (+ 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/2 (/ 1 re)) (/ re (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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -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 (* (sqrt im) (pow (sqrt -1) 2)))
Calls

6 calls:

TimeVariablePointExpression
4.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 (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (* -4 re) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* (sqrt 2) (sqrt im)) (sqrt 2) (sqrt (+ (* 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)) (+ (* (* re 1/2) (* (/ im re) (/ im re))) 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 im) (- (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (- (sqrt (+ (* re re) (* im im))) re))
3.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 (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (* -4 re) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* (sqrt 2) (sqrt im)) (sqrt 2) (sqrt (+ (* 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)) (+ (* (* re 1/2) (* (/ im re) (/ im re))) 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 im) (- (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (- (sqrt (+ (* re re) (* im im))) re))
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 (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (* -4 re) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* (sqrt 2) (sqrt im)) (sqrt 2) (sqrt (+ (* 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)) (+ (* (* re 1/2) (* (/ im re) (/ im re))) 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 im) (- (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (- (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) (* 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) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* (sqrt 2) (sqrt im)) (sqrt 2) (sqrt (+ (* 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)) (+ (* (* re 1/2) (* (/ im re) (/ im re))) 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 im) (- (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (- (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) (* 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) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (* (sqrt 2) (sqrt im)) (sqrt 2) (sqrt (+ (* 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)) (+ (* (* re 1/2) (* (/ im re) (/ im re))) 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 im) (- (sqrt (+ (* re re) (* im im))) re) (sqrt (+ (* re re) (* im im))) (- (sqrt (+ (* re re) (* im im))) re))

simplify162.0ms (2.7%)

Memory
9.9MiB live, 153.8MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05613041
120132892
084702742
Stop Event
iter limit
node limit
Counts
114 → 112
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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* -4 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/2 (/ (pow im 2) re))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(/ (pow im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* 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)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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 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 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (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)))))
(sqrt im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (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 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (* -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 (+ 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/2 (/ 1 re)) (/ re (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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(* -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 (* (sqrt im) (pow (sqrt -1) 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 re #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.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))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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/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 re #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.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))) (*.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)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* -2 re) (* 2 im))
(*.f64 #s(literal -2 binary64) (-.f64 re im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 re 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 re))
(-.f64 im re)
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(fma.f64 (-.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) #s(literal 1 binary64)) re im)
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im)) re) #s(literal 1 binary64)) re im)
(* -4 re)
(*.f64 #s(literal -4 binary64) re)
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) 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 (*.f64 re 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 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 re re)) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im)
(* 1/2 (/ (pow im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(/ (+ (* 1/2 (pow im 2)) (pow re 2)) re)
(/.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) (*.f64 re re)) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (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 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(fma.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal -1/1024 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 3 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal -1/512 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 (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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(/ (+ (* -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)) re)
(/ (+ (* -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))) re)
(/ (+ (* -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 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal -1 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)))) re)
(/ (+ (* -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))) re)
(/ (+ (* -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 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 4 binary64))))) re)
(/ (+ (* -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 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 4 binary64)))))) re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 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 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64))))) re re)
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal -1 binary64))) #s(literal -1 binary64))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1 binary64))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im) (*.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 1 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 4 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 #s(literal -1 binary64))) #s(literal -2 binary64))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 2 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 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/4 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1 binary64))) #s(literal 2 binary64) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 im #s(literal 4 binary64)) (*.f64 (*.f64 #s(literal 1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (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/4 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64))))
(* -1 (* 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 (neg.f64 re) (+.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 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64)))))
(* -2 re)
(*.f64 #s(literal -2 binary64) re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))
(* -1 (* re (+ 2 (+ (* -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 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64))))
(* -1 (* 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 (neg.f64 re) (+.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 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64)))))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im 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 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im 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 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64))))) re re))
(* -1 (* re (- (* -1/2 (/ (pow im 2) (pow re 2))) 1)))
(*.f64 (neg.f64 re) (-.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re)) #s(literal 1 binary64)))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/32 binary64) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 im im))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)))) (*.f64 im im))) (*.f64 im im))) im)
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/16 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 im im))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)))) (*.f64 im im))) (*.f64 im im))) im)
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 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))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) #s(literal -5/64 binary64) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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)))
(fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (/.f64 (*.f64 im 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 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(sqrt im)
(sqrt.f64 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/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (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/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/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)))) (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) (*.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/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (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)))) (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)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (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)))) (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)))) (*.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 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64))) im)
(* im (+ 1 (* -1 (/ re im))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 re im)) im)
(* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))
(*.f64 (fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (-.f64 #s(literal 1 binary64) (/.f64 re im))) im)
(* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))
(*.f64 (-.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 re) im) (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64))) (/.f64 re im)) im)
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) #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 re re) im) (/.f64 #s(literal 1/2 binary64) im) #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 re re) im) (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))))) im im)
(* (pow im 2) (+ (* 1/2 (/ 1 re)) (/ re (pow im 2))))
(*.f64 (+.f64 (/.f64 re (*.f64 im im)) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 re (sqrt.f64 #s(literal -1 binary64))) (*.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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 re (sqrt.f64 #s(literal -1 binary64))) (*.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 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 re (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re (sqrt.f64 #s(literal -1 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 im) #s(literal 3/16 binary64))) (neg.f64 (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 -1 binary64))) (sqrt.f64 #s(literal 2 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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 re (sqrt.f64 #s(literal -1 binary64))) (*.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/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 re (sqrt.f64 #s(literal -1 binary64))) (*.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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) re (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re (sqrt.f64 #s(literal -1 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 im) #s(literal 3/8 binary64))) (neg.f64 (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 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (*.f64 (neg.f64 re) re) im)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) 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 (/ re im))))
(neg.f64 (fma.f64 (/.f64 re im) im im))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64)) re) im)) (neg.f64 im))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.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))) (neg.f64 im)) re) im)) (neg.f64 im))
(* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (*.f64 #s(literal 1 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) #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 re re) im) (/.f64 #s(literal 1/2 binary64) im) #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 re re) im) (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))))) im im))
(* -1 (* (sqrt im) (pow (sqrt -1) 2)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 im))

rewrite62.0ms (1%)

Memory
-18.5MiB live, 72.5MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042312
073237
1203237
01271237
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
24 → 275
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)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) 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))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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))
(sqrt.f64 (fma.f64 re re (*.f64 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))))
(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))
(fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))
(sqrt.f64 im)
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re))
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re)
Outputs
(*.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 (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 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) #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 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/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 (hypot.f64 re im) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))
(/.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 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (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 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re))) (-.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 3 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 3 binary64))) (fma.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re) (-.f64 (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 (hypot.f64 re im) re))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (+.f64 (hypot.f64 re im) re) (*.f64 (+.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (+.f64 (hypot.f64 re im) re) (+.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (+.f64 (hypot.f64 re im) re) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (+.f64 (hypot.f64 re im) re) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (+.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)))
(fma.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64) (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)))
(-.f64 (+.f64 (-.f64 (hypot.f64 re im) re) (hypot.f64 re im)) re)
(-.f64 (hypot.f64 re im) (-.f64 re (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)) (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)))
(+.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (+.f64 (hypot.f64 re im) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (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 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(-.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 3 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(-.f64 (hypot.f64 re im) re)
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.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)) (*.f64 #s(literal -4 binary64) re))))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)))
(pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
(*.f64 re #s(literal -4 binary64))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 #s(literal 2 binary64) im))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (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))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 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 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 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 im re) #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 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (neg.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (neg.f64 re)) im)
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (neg.f64 (fabs.f64 re)) im)
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (neg.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (neg.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (neg.f64 im)) re)
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (neg.f64 (fabs.f64 im)) re)
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (neg.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 im))
(hypot.f64 (fabs.f64 (fabs.f64 re)) im)
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (neg.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 re))
(hypot.f64 (fabs.f64 (fabs.f64 im)) re)
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (neg.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (neg.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) (fabs.f64 im))
(hypot.f64 (pow.f64 re #s(literal 1 binary64)) im)
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (neg.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (neg.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) (fabs.f64 re))
(hypot.f64 (pow.f64 im #s(literal 1 binary64)) re)
(hypot.f64 (neg.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (neg.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (neg.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (fabs.f64 re) (neg.f64 (neg.f64 im)))
(hypot.f64 (fabs.f64 re) (neg.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (fabs.f64 (fabs.f64 im)))
(hypot.f64 (fabs.f64 re) (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 im) (neg.f64 (neg.f64 re)))
(hypot.f64 (fabs.f64 im) (neg.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (fabs.f64 (fabs.f64 re)))
(hypot.f64 (fabs.f64 im) (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 re (neg.f64 (neg.f64 im)))
(hypot.f64 re (neg.f64 (fabs.f64 im)))
(hypot.f64 re (fabs.f64 (fabs.f64 im)))
(hypot.f64 re (pow.f64 im #s(literal 1 binary64)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 re im)
(hypot.f64 im (neg.f64 (neg.f64 re)))
(hypot.f64 im (neg.f64 (fabs.f64 re)))
(hypot.f64 im (fabs.f64 (fabs.f64 re)))
(hypot.f64 im (pow.f64 re #s(literal 1 binary64)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(hypot.f64 im re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) #s(literal 1/2 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 (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 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) #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 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/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 (hypot.f64 re im) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))
(/.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 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (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 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re))) (-.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))
(/.f64 (+.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 3 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 3 binary64))) (fma.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re) (-.f64 (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)) (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 (hypot.f64 re im) re))
(/.f64 (+.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (+.f64 (hypot.f64 re im) re) (*.f64 (+.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (+.f64 (hypot.f64 re im) re) (+.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (+.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (+.f64 (hypot.f64 re im) re) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (+.f64 (hypot.f64 re im) re) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (+.f64 (hypot.f64 re im) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)))
(fma.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64) (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)))
(-.f64 (+.f64 (-.f64 (hypot.f64 re im) re) (hypot.f64 re im)) re)
(-.f64 (hypot.f64 re im) (-.f64 re (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)) (*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 re im) re)))
(+.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)) (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1 binary64)))
(+.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64))) (-.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) re)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (-.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) re))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re)))))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 3 binary64))) (fma.f64 re (-.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64) re)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 (neg.f64 im) re)) (/.f64 (neg.f64 im) re) re)
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) (fabs.f64 (/.f64 im re))) (fabs.f64 (/.f64 im re)) re)
(fma.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64)) re re)
(fma.f64 (*.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 im re) re)
(fma.f64 (/.f64 (neg.f64 im) re) (*.f64 (/.f64 (neg.f64 im) re) (*.f64 #s(literal 1/2 binary64) re)) re)
(fma.f64 (fabs.f64 (/.f64 im re)) (*.f64 (fabs.f64 (/.f64 im re)) (*.f64 #s(literal 1/2 binary64) re)) re)
(fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)
(fma.f64 (/.f64 im re) (*.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) re)) re)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re)
(fma.f64 #s(literal 1/2 binary64) (*.f64 re (pow.f64 (/.f64 im re) #s(literal 2 binary64))) re)
(fma.f64 re (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64)) re)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) re)) (/.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) re)))
(-.f64 re (*.f64 (neg.f64 (*.f64 (/.f64 im re) (*.f64 #s(literal 1/2 binary64) re))) (/.f64 im re)))
(-.f64 re (*.f64 (neg.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) re)))
(-.f64 re (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) (pow.f64 (/.f64 im re) #s(literal 2 binary64))))
(-.f64 re (*.f64 (neg.f64 re) (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 3 binary64)) (fma.f64 re (-.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (-.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64))) (pow.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/2 binary64)) re)
(+.f64 re (*.f64 (*.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) re) #s(literal 1/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))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #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))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) 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))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(pow.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(/.f64 (*.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))) (-.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(/.f64 (+.f64 (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 3 binary64)) (pow.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 3 binary64))) (fma.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))))
(/.f64 (+.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re))) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(/.f64 (+.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))))
(/.f64 (fma.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)))))
(/.f64 (fma.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (*.f64 (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)))) (*.f64 (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(/.f64 (fma.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (*.f64 (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (*.f64 (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (*.f64 #s(literal 1 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(fma.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 1 binary64) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 1 binary64)))
(-.f64 (+.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re))) re)
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) (-.f64 re (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)) (*.f64 #s(literal 1 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(+.f64 (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 1 binary64)) (*.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) #s(literal 1 binary64)))
(+.f64 (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(*.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64)))
(pow.f64 im #s(literal 1/2 binary64))
(sqrt.f64 im)
(exp.f64 (*.f64 (log.f64 im) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (+.f64 (hypot.f64 re im) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (+.f64 (hypot.f64 re im) re) (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 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(-.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 3 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (+.f64 (hypot.f64 re im) re) (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))))
(-.f64 (hypot.f64 re im) re)
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re))) (neg.f64 (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (*.f64 re re)) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re))
(/.f64 (-.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)) (/.f64 (*.f64 re re) (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)))
(-.f64 (/.f64 (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 3 binary64)) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 re (+.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re) (pow.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) #s(literal 2 binary64)))))
(-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (pow.f64 (/.f64 im re) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) re) re)) re)

eval43.0ms (0.7%)

Memory
26.9MiB live, 72.0MiB allocated; 4ms collecting garbage
Compiler

Compiled 11 114 to 1 975 computations (82.2% saved)

prune17.0ms (0.3%)

Memory
-23.4MiB live, 31.1MiB allocated; 6ms collecting garbage
Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New3398347
Fresh808
Picked055
Done000
Total34713360
Accuracy
99.9%
Counts
360 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.5%
(*.f64 (*.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))) #s(literal 1/2 binary64))
82.0%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
56.0%
(*.f64 (sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* im im) (* re re))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
53.6%
(*.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))
14.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
53.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
17.5%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
24.9%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))
41.9%
(*.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.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
26.1%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
53.1%
(*.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))))
24.8%
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 512 to 371 computations (27.5% saved)

simplify201.0ms (3.3%)

Memory
12.4MiB live, 200.8MiB allocated; 14ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
cost-diff0
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
cost-diff0
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
cost-diff3
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
cost-diff0
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
cost-diff0
(/.f64 (*.f64 im im) re)
cost-diff0
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
cost-diff0
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
cost-diff0
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im 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
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
cost-diff0
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
cost-diff0
(*.f64 (*.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))) #s(literal 1/2 binary64))
cost-diff11
(*.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)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052504
086439
1153437
2407437
31507437
44813429
08185425
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (*.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))) #s(literal 1/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)))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
(-.f64 (hypot.f64 re im) re)
(hypot.f64 re im)
re
im
#s(literal 2 binary64)
#s(literal 1/4 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 (*.f64 im im) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(literal 1/2 binary64)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
im
(sqrt.f64 #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 #s(literal -1/16 binary64) (*.f64 im im))
#s(literal -1/16 binary64)
(*.f64 im im)
im
(/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))
(pow.f64 re #s(literal 5 binary64))
#s(literal 5 binary64)
Outputs
(*.f64 (*.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))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))))
(*.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)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(-.f64 (hypot.f64 re im) re)
(-.f64 (hypot.f64 im re) re)
(hypot.f64 re im)
(hypot.f64 im re)
re
im
#s(literal 2 binary64)
#s(literal 1/4 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 (*.f64 im im) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(literal 1/2 binary64)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 1/2 binary64))) im))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 1/2 binary64))) im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
im
(sqrt.f64 #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal -1/16 binary64) (*.f64 im im))) (sqrt.f64 #s(literal 1/2 binary64))))) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal -1/16 binary64) (*.f64 im im))) (sqrt.f64 #s(literal 1/2 binary64))))) im))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal -1/16 binary64) (*.f64 im im))) (sqrt.f64 #s(literal 1/2 binary64))))) im)
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal -1/16 binary64) (*.f64 im im))) (sqrt.f64 #s(literal 1/2 binary64)))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal -1/16 binary64)) im))
(*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 #s(literal -1/16 binary64) (*.f64 im im)))
(*.f64 #s(literal -1/16 binary64) (*.f64 im im))
#s(literal -1/16 binary64)
(*.f64 im im)
im
(/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
(/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))
(pow.f64 re #s(literal 5 binary64))
#s(literal 5 binary64)

localize161.0ms (2.7%)

Memory
20.1MiB live, 158.7MiB allocated; 6ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy1.0350652830726796
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
accuracy5.925729026658183
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
accuracy10.173517068432405
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
accuracy18.528646752925408
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
accuracy0.125
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
accuracy0.2109375
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
accuracy0.23828125
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
accuracy17.435124833124682
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
accuracy0.0
(*.f64 im im)
accuracy4.108316171873443
(/.f64 (*.f64 im im) re)
accuracy5.3549953713394505
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
accuracy17.489354324290307
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
accuracy0.0
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))) #s(literal 1/2 binary64))
accuracy0.0
(*.f64 #s(literal 2 binary64) im)
accuracy5.3549953713394505
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im)))
accuracy14.51107447835983
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
accuracy0.00390625
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
accuracy0.23046875
(*.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)))
accuracy6.066531763751313
(-.f64 (hypot.f64 re im) re)
accuracy7.978667627218189
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
Samples
54.0ms122×0invalid
27.0ms75×0valid
19.0ms24×2valid
14.0ms14×3valid
13.0ms21×1valid
Compiler

Compiled 441 to 43 computations (90.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 95.0ms
ival-mult: 26.0ms (27.5% of total)
ival-sqrt: 25.0ms (26.4% of total)
ival-hypot: 13.0ms (13.7% of total)
ival-pow: 11.0ms (11.6% of total)
adjust: 7.0ms (7.4% of total)
ival-div: 7.0ms (7.4% of total)
ival-sub: 3.0ms (3.2% of total)
ival-add: 1.0ms (1.1% of total)
exact: 1.0ms (1.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series67.0ms (1.1%)

Memory
-17.8MiB live, 77.6MiB allocated; 17ms collecting garbage
Counts
25 → 153
Calls
Call 1
Inputs
(*.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 (*.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))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 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)
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(-.f64 (hypot.f64 re im) re)
(*.f64 im im)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
Outputs
(* (sqrt im) (sqrt 2))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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))))))))
(pow (* 2 im) 1/4)
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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)))
(/ (pow im 2) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (pow re 5)))) (pow re 3))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(sqrt (/ 1 (pow re 5)))
(* im (sqrt (/ 1 re)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
(+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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)
(* -2 (* (sqrt re) (sqrt -1)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(* -4 re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* 1/2 (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2))))
(+ (* -1/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))))
(* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* 1/2 (* im (* (sqrt 1/2) (sqrt 2))))
(* 1/2 (* im (sqrt 1/2)))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(pow im 2)
(* im (sqrt 1/2))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* (pow im 3) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* im (+ 1 (* -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 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(* -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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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))))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (* (pow im 3) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))))))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
Calls

6 calls:

TimeVariablePointExpression
19.0ms
re
@inf
((* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (* (- (sqrt (+ (* re re) (* im im))) re) 2) (* (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) (/ (* im im) re) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (sqrt (/ 1 re))) (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (* 1/2 (* im (sqrt 1/2))) (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) im) (- (sqrt (+ (* re re) (* im im))) re) (* im im) (* im (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5)))) (sqrt (/ 1 (pow re 5))))
13.0ms
im
@0
((* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (* (- (sqrt (+ (* re re) (* im im))) re) 2) (* (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) (/ (* im im) re) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (sqrt (/ 1 re))) (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (* 1/2 (* im (sqrt 1/2))) (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) im) (- (sqrt (+ (* re re) (* im im))) re) (* im im) (* im (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5)))) (sqrt (/ 1 (pow re 5))))
11.0ms
im
@inf
((* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (* (- (sqrt (+ (* re re) (* im im))) re) 2) (* (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) (/ (* im im) re) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (sqrt (/ 1 re))) (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (* 1/2 (* im (sqrt 1/2))) (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) im) (- (sqrt (+ (* re re) (* im im))) re) (* im im) (* im (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5)))) (sqrt (/ 1 (pow re 5))))
8.0ms
re
@-inf
((* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (* (- (sqrt (+ (* re re) (* im im))) re) 2) (* (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) (/ (* im im) re) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (sqrt (/ 1 re))) (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (* 1/2 (* im (sqrt 1/2))) (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) im) (- (sqrt (+ (* re re) (* im im))) re) (* im im) (* im (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5)))) (sqrt (/ 1 (pow re 5))))
6.0ms
im
@-inf
((* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (* (- (sqrt (+ (* re re) (* im im))) re) 2) (* (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) (/ (* im im) re) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (* (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (sqrt (/ 1 re))) (* (* 1/2 (* im (sqrt 1/2))) (sqrt 2)) (* 1/2 (* im (sqrt 1/2))) (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (+ (* (* (sqrt (/ 1 re)) (sqrt 2)) (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5))))) im) (- (sqrt (+ (* re re) (* im im))) re) (* im im) (* im (sqrt 1/2)) (* (* (* -1/16 (* im im)) (/ (sqrt 2) (sqrt 1/2))) (sqrt (/ 1 (pow re 5)))) (sqrt (/ 1 (pow re 5))))

simplify208.0ms (3.4%)

Memory
-3.2MiB live, 272.2MiB allocated; 60ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08824822
131894506
081694305
Stop Event
iter limit
node limit
Counts
153 → 152
Calls
Call 1
Inputs
(* (sqrt im) (sqrt 2))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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))))))))
(pow (* 2 im) 1/4)
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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)))
(/ (pow im 2) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (pow re 5)))) (pow re 3))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(sqrt (/ 1 (pow re 5)))
(* im (sqrt (/ 1 re)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
(+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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)
(* -2 (* (sqrt re) (sqrt -1)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(* -4 re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* 1/2 (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2))))
(+ (* -1/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))))
(* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* 1/2 (* im (* (sqrt 1/2) (sqrt 2))))
(* 1/2 (* im (sqrt 1/2)))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(pow im 2)
(* im (sqrt 1/2))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* (pow im 3) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* im (+ 1 (* -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 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(* -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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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))))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (* (pow im 3) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))))))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
Outputs
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (neg.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 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 re (/.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)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (*.f64 (/.f64 re #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)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (/.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))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))) re (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64)))
(+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) #s(literal -1/4 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) #s(literal 1/16 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/4 binary64))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 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 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/32 binary64))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(pow (* 2 im) 1/4)
(pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64)) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 7 binary64))) #s(literal 1/4 binary64)) re) #s(literal 1/32 binary64) (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64))) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 11 binary64))) #s(literal 1/4 binary64)) re) #s(literal 5/128 binary64) (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 7 binary64))) #s(literal 1/4 binary64)) #s(literal 1/32 binary64))) re (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64))) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* -2 re) (* 2 im))
(*.f64 #s(literal -2 binary64) (-.f64 re im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 re 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))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.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/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 #s(literal -1/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 (+ (* -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 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 #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))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/16 binary64))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 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/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(*.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(/ (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal -1/16 binary64))) (pow.f64 re #s(literal 3 binary64)))
(* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(*.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(/ (+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt re))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (pow re 5)))) (pow re 3))
(/.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (pow.f64 re #s(literal 5 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64))))) (pow.f64 re #s(literal 3 binary64)))
im
(+ im (* -1 re))
(-.f64 im re)
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(fma.f64 (-.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) #s(literal 1 binary64)) re im)
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im)) re) #s(literal 1 binary64)) re im)
(sqrt (/ 1 (pow re 5)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
(* im (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (pow.f64 im #s(literal 5 binary64))) #s(literal 7/128 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 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 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/64 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 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 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 #s(literal -1/1024 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/64 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(fma.f64 (/.f64 #s(literal -1/16 binary64) re) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (*.f64 im im)) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) re) (/.f64 (*.f64 im im) re)) #s(literal -1/16 binary64) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/96 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/512 binary64))) (pow.f64 re #s(literal 4 binary64))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(+.f64 (fma.f64 (/.f64 #s(literal -1/16 binary64) re) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (*.f64 im im)) re) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (+.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/1536 binary64) (*.f64 im im)) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) (fma.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))) #s(literal 1/2880 binary64) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/24576 binary64)))) (pow.f64 re #s(literal 6 binary64))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/96 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/512 binary64))) (pow.f64 re #s(literal 4 binary64)))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(/ (+ (* -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)) re)
(/ (+ (* -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))) re)
(/ (+ (* -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 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal -1 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)))) re)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64))))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 #s(literal -1/512 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (*.f64 #s(literal 1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64))))))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))
(+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))))
(* 1/2 (/ (pow im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 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) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)
(/ (+ (* -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 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) re)
(/ (+ (* -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 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))) re)
(* -2 (* (sqrt re) (sqrt -1)))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) #s(literal -3/64 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 1/2 binary64))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im))) (sqrt.f64 re) (*.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/64 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/8 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/16 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/16 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/96 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/512 binary64))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(+.f64 (fma.f64 (/.f64 #s(literal 1/16 binary64) re) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) (*.f64 im im)) re) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))) (+.f64 (/.f64 (fma.f64 #s(literal 1/24576 binary64) (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 #s(literal 1/1536 binary64) (*.f64 im im)) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/2 binary64)) #s(literal 1/2880 binary64)))) (pow.f64 re #s(literal 6 binary64))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/96 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/512 binary64))) (pow.f64 re #s(literal 4 binary64)))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(* -4 re)
(*.f64 #s(literal -4 binary64) re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 im re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 4 binary64)))
(* -1 (* 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 (neg.f64 re) (+.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) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))))) #s(literal 4 binary64)))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/32 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* 1/2 (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2))))
(*.f64 (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* -1/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (neg.f64 im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* -1/16 (* (/ (* (pow im 3) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (neg.f64 im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(* -2 re)
(*.f64 #s(literal -2 binary64) re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)))
(* -1 (* 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 (neg.f64 re) (+.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) (/.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))))) #s(literal 2 binary64)))
(* -1/16 (* (/ (* (pow im 2) (* (pow (sqrt -1) 2) (sqrt 2))) (sqrt 1/2)) (sqrt (/ 1 (pow re 5)))))
(*.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1 binary64))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(*.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))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 7/128 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -33/1024 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 13 binary64)))) (*.f64 #s(literal 7/128 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))))) (*.f64 im im) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal 1/4 binary64))) (*.f64 im im) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/4 binary64) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)))) (*.f64 im im))) (*.f64 im im) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (*.f64 re re)) #s(literal -1/16 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (pow.f64 re #s(literal 4 binary64))) #s(literal 13/512 binary64) (*.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 re re)) #s(literal -1/16 binary64))) (*.f64 im im) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(fma.f64 (fma.f64 (/.f64 #s(literal -1/16 binary64) re) (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) re) (*.f64 (fma.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (pow.f64 re #s(literal 4 binary64))) #s(literal 13/512 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (pow.f64 re #s(literal 6 binary64))) #s(literal -119/8192 binary64))) (*.f64 im im))) (*.f64 im im) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 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))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) #s(literal -5/64 binary64) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)))) (*.f64 im im))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(* 1/2 (* im (* (sqrt 1/2) (sqrt 2))))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* 1/2 (* im (sqrt 1/2)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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))
(pow im 2)
(*.f64 im im)
(* im (sqrt 1/2))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (neg.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 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(*.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (/.f64 re #s(literal 2 binary64)) (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64)))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64)))) im)
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))) im)) #s(literal -1/4 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+.f64 (fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))) im)) #s(literal -1/4 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/32 binary64) #s(literal 0 binary64)) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im)))) (*.f64 im im))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(+.f64 (fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))) im)) #s(literal -1/4 binary64) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 im))) (+.f64 (/.f64 (fma.f64 (*.f64 #s(literal 0 binary64) re) #s(literal -1/32 binary64) (fma.f64 #s(literal 1/24 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal -1/384 binary64) (pow.f64 re #s(literal 3 binary64))))) (pow.f64 im #s(literal 3 binary64))) (/.f64 (fma.f64 (*.f64 re re) #s(literal 1/32 binary64) #s(literal 0 binary64)) (*.f64 im im))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 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 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64)) (*.f64 (/.f64 re im) (/.f64 re im))) im)
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64)) (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.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/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(*.f64 (fma.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 im im))
(* (pow im 3) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(*.f64 (fma.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))) (pow.f64 im #s(literal 3 binary64)))
(* im (+ 1 (* -1 (/ re im))))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 re im)) im)
(* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))
(*.f64 (-.f64 (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (/.f64 re im)) im)
(* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))
(*.f64 (+.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) (/.f64 re im))) im)
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal -1 binary64))) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* -1 (* (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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (neg.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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(*.f64 (neg.f64 im) (fma.f64 (neg.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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (fma.f64 (/.f64 (*.f64 re re) #s(literal 2 binary64)) (/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))))) (neg.f64 (pow.f64 im #s(literal 3 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 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) 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/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 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 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/16 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) im)) #s(literal 1/4 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(-.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (fma.f64 (*.f64 re re) #s(literal 1/32 binary64) #s(literal 0 binary64))) (neg.f64 im))) im))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(-.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (/.f64 (fma.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (fma.f64 (*.f64 re re) #s(literal 1/32 binary64) #s(literal 0 binary64)) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))) (fma.f64 (*.f64 #s(literal 0 binary64) re) #s(literal -1/32 binary64) (fma.f64 #s(literal 1/24 binary64) (pow.f64 re #s(literal 3 binary64)) (*.f64 #s(literal -1/384 binary64) (pow.f64 re #s(literal 3 binary64)))))) (neg.f64 im))) (neg.f64 im))) im))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (*.f64 (neg.f64 re) re) im)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) 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 (+ (* -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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 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) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/8 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* (pow im 3) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))))))
(*.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (neg.f64 im) im))))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (/ re im))))
(neg.f64 (fma.f64 (/.f64 re im) im im))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64)) re) im)))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.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))) (neg.f64 im)) re) im)))

rewrite39.0ms (0.6%)

Memory
3.9MiB live, 63.7MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052417
086312
0275312
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
25 → 74
Calls
Call 1
Inputs
(*.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 (*.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))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 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)
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)
(-.f64 (hypot.f64 re im) re)
(*.f64 im im)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
Outputs
(*.f64 (neg.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 im re) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/8 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(exp.f64 (*.f64 (log.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))) #s(literal 1/4 binary64)))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 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))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))))
(pow.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 im #s(literal 2 binary64))
(+.f64 im im)
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))))
(pow.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))
(/.f64 (*.f64 im im) re)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(/.f64 (-.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))) (-.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
(fma.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(fma.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(fma.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(-.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #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)) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) im)))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) im))
(*.f64 (fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) im)
(*.f64 im (fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (*.f64 re re)) (+.f64 (hypot.f64 im re) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (hypot.f64 im re) (hypot.f64 im re) (fma.f64 re re (*.f64 (hypot.f64 im re) re))))
(-.f64 (hypot.f64 im re) re)
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 im im)
(pow.f64 im #s(literal 2 binary64))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))))
(*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))))
(pow.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 re #s(literal 5 binary64))))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))

eval35.0ms (0.6%)

Memory
28.9MiB live, 75.1MiB allocated; 4ms collecting garbage
Compiler

Compiled 14 827 to 1 642 computations (88.9% saved)

prune14.0ms (0.2%)

Memory
-14.3MiB live, 32.1MiB allocated; 3ms collecting garbage
Pruning

15 alts after pruning (8 fresh and 7 done)

PrunedKeptTotal
New3015306
Fresh033
Picked325
Done055
Total30415319
Accuracy
100.0%
Counts
319 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.5%
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
82.0%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
56.0%
(*.f64 (sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* im im) (* re re))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
53.6%
(*.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))
14.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
53.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
16.9%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (/.f64 im re)))) #s(literal 1/2 binary64))
25.0%
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
15.1%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)) #s(literal 1/2 binary64))
24.9%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))
41.9%
(*.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.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
26.1%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
53.1%
(*.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))))
24.8%
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 695 to 410 computations (41% saved)

simplify172.0ms (2.8%)

Memory
10.8MiB live, 154.5MiB allocated; 16ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff3
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
cost-diff4
(-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
cost-diff6
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))
cost-diff8
(*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
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
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
cost-diff0
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
cost-diff0
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
cost-diff0
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
cost-diff0
(+.f64 im im)
cost-diff0
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
cost-diff0
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
cost-diff0
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
cost-diff0
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
cost-diff0
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
cost-diff3
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067951
0109824
1217667
2747616
33148616
08179611
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
#s(literal 2 binary64)
(-.f64 (hypot.f64 im re) re)
(hypot.f64 im re)
im
re
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
(+.f64 im im)
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
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))))
#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(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im))
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
(+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 re #s(literal -1 binary64))
re
#s(literal -1 binary64)
#s(literal 2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(literal 3 binary64)
(pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))
(pow.f64 re #s(literal -5 binary64))
#s(literal -5 binary64)
(*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))
(*.f64 #s(literal -1/16 binary64) (*.f64 im im))
#s(literal -1/16 binary64)
(*.f64 im im)
im
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
Outputs
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #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))))
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))
#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 1/4 binary64)
#s(literal 1/2 binary64)
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64)))
(+.f64 im im)
(*.f64 im #s(literal 2 binary64))
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) im)) #s(literal 1/2 binary64))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) im))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(sqrt.f64 (pow.f64 re #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) re)
(pow.f64 re #s(literal -1 binary64))
#s(literal 1 binary64)
re
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))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64))))) #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 im #s(literal 2 binary64)))))
#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 im #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 re im) #s(literal 2 binary64)) re (*.f64 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)
(*.f64 im #s(literal 2 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)) #s(literal 1/2 binary64))
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (/.f64 im (fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (pow.f64 re #s(literal -1 binary64)))) (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64))))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (/.f64 im (fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (pow.f64 re #s(literal -1 binary64)))) (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)
(*.f64 (/.f64 im (fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (pow.f64 re #s(literal -1 binary64)))) (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (pow.f64 re #s(literal -1 binary64))))
(+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64)))
(+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64))
(pow.f64 (sqrt.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 3 binary64))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(sqrt.f64 (pow.f64 re #s(literal -1 binary64)))
(sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
(*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))
(/.f64 #s(literal 2 binary64) re)
(pow.f64 re #s(literal -1 binary64))
re
#s(literal -1 binary64)
#s(literal 2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(literal 3 binary64)
(pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))
(pow.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal 3 binary64))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))
(pow.f64 re #s(literal -5 binary64))
#s(literal -5 binary64)
(*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))
(*.f64 #s(literal -1/8 binary64) (*.f64 im im))
(*.f64 #s(literal -1/16 binary64) (*.f64 im im))
#s(literal -1/16 binary64)
(*.f64 im im)
im
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (pow.f64 re #s(literal -1 binary64)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 (*.f64 im im) (*.f64 im im))) (pow.f64 re #s(literal -5 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -1 binary64)))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))))

localize336.0ms (5.5%)

Memory
-47.6MiB live, 348.2MiB allocated; 86ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy5.925729026658183
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))
accuracy10.173517068432405
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
accuracy18.528646752925408
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im))
accuracy22.753250701201786
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
accuracy0.0
(*.f64 #s(literal 2 binary64) im)
accuracy0.0234375
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
accuracy5.3549953713394505
(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))))
accuracy14.795548598528804
#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.0
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
accuracy0.06640625
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
accuracy0.12109375
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
accuracy17.43507247578804
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
accuracy0.0
(+.f64 im im)
accuracy0.0
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
accuracy5.3549953713394505
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
accuracy14.51107447835983
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
accuracy0.23046875
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
accuracy6.066531763751313
(-.f64 (hypot.f64 im re) re)
accuracy7.978667627218189
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
Samples
91.0ms28×2valid
82.0ms122×0invalid
49.0ms31×1valid
33.0ms75×0valid
Compiler

Compiled 774 to 57 computations (92.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 224.0ms
ival-pow: 88.0ms (39.3% of total)
ival-add: 35.0ms (15.6% of total)
ival-mult: 31.0ms (13.8% of total)
ival-div: 26.0ms (11.6% of total)
ival-hypot: 13.0ms (5.8% of total)
adjust: 12.0ms (5.4% of total)
ival-sqrt: 9.0ms (4% of total)
ival-sub: 6.0ms (2.7% of total)
ival-pow2: 3.0ms (1.3% of total)
exact: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series64.0ms (1%)

Memory
24.8MiB live, 71.0MiB allocated; 5ms collecting garbage
Counts
26 → 182
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
(+.f64 im im)
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) 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 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(-.f64 (hypot.f64 im re) re)
(*.f64 #s(literal 2 binary64) im)
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))
Outputs
(* (sqrt im) (sqrt 2))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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))))))))
(pow (* 2 im) 1/4)
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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)))
(* im (sqrt (/ 1 re)))
(sqrt (/ 1 re))
(* 1/64 (/ (pow im 4) (pow re 5)))
(/ (+ (* 1/64 (pow im 4)) (* 1/8 (* (pow im 2) (* (pow re 2) (* (sqrt 1/2) (sqrt 2)))))) (pow re 5))
(/ (+ (* 1/64 (pow im 4)) (* (pow re 2) (- (* (pow re 2) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))))) (pow re 5))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* -1 (* (pow re 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* (pow re 2) (- (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))))))) (pow im 2))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(sqrt (/ 1 (pow re 5)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(/ (pow im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(/ (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))))
(/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re)
(/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) re)
(/ (- (+ (* 1/64 (/ (pow im 4) (pow re 4))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2)))) re)
(* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3)))
(/ (- (* 1/64 (/ (pow im 4) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))) (pow re 3))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))
(- (+ (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))) (* (pow re 6) (* (sqrt 1/2) (sqrt 2))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))))
(* -2 (* (sqrt re) (sqrt -1)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(* -4 re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(* (pow re 2) (+ (* -1 (/ (+ 2 (* -2 (/ im re))) re)) (/ 1 im)))
(* -1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 5)))
(* -1 (/ (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2)) re))
(* -1 (/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) re))
(* -1 (/ (- (+ (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 4))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2)))) re))
(* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 3)))
(* -1 (/ (- (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))) (pow re 3)))
(* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))
(- (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -1) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))))) (* (pow re 6) (* (sqrt -2) (sqrt 1/2))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))))
(* -1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(/ (+ (* -2 (* im re)) (pow re 2)) im)
(/ (+ (* im (+ (* -2 re) (* 2 im))) (pow re 2)) im)
(+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(+ (* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3))))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3)))))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* -1 (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* (pow im 2) (- (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))))) (* (pow re 2) (* (sqrt 1/2) (sqrt 2))))) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (pow im 4) (+ (* 1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3)))) (* 1/64 (/ 1 (pow re 5)))))
(* (pow im 4) (- (+ (* 1/64 (/ 1 (pow re 5))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (* (pow im 4) re))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3))))))
(* im (+ 1 (* -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) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* (pow im 2) (- (+ (* -1 (/ (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))))) (pow im 4))) (* -1/8 (sqrt (/ 1 (pow re 5))))) (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re))))))
(* (pow im 2) (- (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))))))) (pow im 6)))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3)))) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(* -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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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))))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (* im (- (* 2 (/ re im)) 2)))
(* -1 (* im (- (* -1 (/ (+ (* -2 re) (/ (pow re 2) im)) im)) 2)))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
Calls

6 calls:

TimeVariablePointExpression
23.0ms
im
@0
((pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) (* (pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) 1/2) (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) (* 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) (+ im im) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (sqrt (/ 1 re)) im) (sqrt (/ 1 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)) (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (- (sqrt (+ (* im im) (* re re))) re) (* 2 im) (/ (+ (pow (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) 3) (pow (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) 3)) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))))) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (sqrt (pow re -5)))
9.0ms
re
@-inf
((pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) (* (pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) 1/2) (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) (* 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) (+ im im) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (sqrt (/ 1 re)) im) (sqrt (/ 1 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)) (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (- (sqrt (+ (* im im) (* re re))) re) (* 2 im) (/ (+ (pow (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) 3) (pow (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) 3)) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))))) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (sqrt (pow re -5)))
7.0ms
im
@inf
((pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) (* (pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) 1/2) (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) (* 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) (+ im im) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (sqrt (/ 1 re)) im) (sqrt (/ 1 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)) (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (- (sqrt (+ (* im im) (* re re))) re) (* 2 im) (/ (+ (pow (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) 3) (pow (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) 3)) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))))) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (sqrt (pow re -5)))
7.0ms
re
@0
((pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) (* (pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) 1/2) (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) (* 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) (+ im im) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (sqrt (/ 1 re)) im) (sqrt (/ 1 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)) (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (- (sqrt (+ (* im im) (* re re))) re) (* 2 im) (/ (+ (pow (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) 3) (pow (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) 3)) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))))) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (sqrt (pow re -5)))
6.0ms
re
@inf
((pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) (* (pow (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) 2) 1/2) (pow (* 2 (- (sqrt (+ (* im im) (* re re))) re)) 1/4) (* 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) (+ im im) (* (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) 1/2) (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (* (sqrt (/ 1 re)) im) (sqrt (/ 1 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)) (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (- (sqrt (+ (* im im) (* re re))) re) (* 2 im) (/ (+ (pow (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) 3) (pow (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) 3)) (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)))))) (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (sqrt (pow re -5)))

simplify229.0ms (3.8%)

Memory
31.9MiB live, 248.2MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010885919
139065692
083585440
Stop Event
iter limit
node limit
Counts
182 → 181
Calls
Call 1
Inputs
(* (sqrt im) (sqrt 2))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 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/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (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))))))))
(pow (* 2 im) 1/4)
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (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)))
(* im (sqrt (/ 1 re)))
(sqrt (/ 1 re))
(* 1/64 (/ (pow im 4) (pow re 5)))
(/ (+ (* 1/64 (pow im 4)) (* 1/8 (* (pow im 2) (* (pow re 2) (* (sqrt 1/2) (sqrt 2)))))) (pow re 5))
(/ (+ (* 1/64 (pow im 4)) (* (pow re 2) (- (* (pow re 2) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))))) (pow re 5))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
im
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* -1 (* (pow re 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* (pow re 2) (- (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))))))) (pow im 2))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(sqrt (/ 1 (pow re 5)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(/ (pow im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -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)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(/ (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))))
(/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re)
(/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) re)
(/ (- (+ (* 1/64 (/ (pow im 4) (pow re 4))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2)))) re)
(* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3)))
(/ (- (* 1/64 (/ (pow im 4) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))) (pow re 3))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -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 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))
(- (+ (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))) (* (pow re 6) (* (sqrt 1/2) (sqrt 2))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))))
(* -2 (* (sqrt re) (sqrt -1)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(* -4 re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(* (pow re 2) (+ (* -1 (/ (+ 2 (* -2 (/ im re))) re)) (/ 1 im)))
(* -1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 5)))
(* -1 (/ (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2)) re))
(* -1 (/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) re))
(* -1 (/ (- (+ (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 4))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2)))) re))
(* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 3)))
(* -1 (/ (- (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))) (pow re 3)))
(* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* 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/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))
(- (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -1) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))))) (* (pow re 6) (* (sqrt -2) (sqrt 1/2))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))))
(* -1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(/ (+ (* -2 (* im re)) (pow re 2)) im)
(/ (+ (* im (+ (* -2 re) (* 2 im))) (pow re 2)) im)
(+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(+ (* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3))))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3)))))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 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) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* -1 (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* (pow im 2) (- (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))))) (* (pow re 2) (* (sqrt 1/2) (sqrt 2))))) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* (pow im 4) (+ (* 1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3)))) (* 1/64 (/ 1 (pow re 5)))))
(* (pow im 4) (- (+ (* 1/64 (/ 1 (pow re 5))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (* (pow im 4) re))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3))))))
(* im (+ 1 (* -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) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(* (pow im 2) (- (+ (* -1 (/ (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))))) (pow im 4))) (* -1/8 (sqrt (/ 1 (pow re 5))))) (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re))))))
(* (pow im 2) (- (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))))))) (pow im 6)))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3)))) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(* -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/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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))))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (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 (* im (- (* 2 (/ re im)) 2)))
(* -1 (* im (- (* -1 (/ (+ (* -2 re) (/ (pow re 2) im)) im)) 2)))
(* -1 im)
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
Outputs
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (neg.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 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 re (/.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 (neg.f64 (/.f64 #s(literal 1 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 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (/.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))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 (/.f64 re #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)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))))) re (*.f64 (neg.f64 (/.f64 #s(literal 1 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)))
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64)))
(+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) #s(literal -1/4 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))))
(fma.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) #s(literal 1/16 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/4 binary64))) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(+ (* 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 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/32 binary64))) re)) re (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal 2 binary64))))
(pow (* 2 im) 1/4)
(pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64))
(+ (* -1/4 (* (pow (/ 2 (pow im 3)) 1/4) re)) (pow (* 2 im) 1/4))
(fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64)) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* 1/32 (* (pow (/ 2 (pow im 7)) 1/4) re)))) (pow (* 2 im) 1/4))
(fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 7 binary64))) #s(literal 1/4 binary64)) re) #s(literal 1/32 binary64) (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64))) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(+ (* re (+ (* -1/4 (pow (/ 2 (pow im 3)) 1/4)) (* re (+ (* 1/32 (pow (/ 2 (pow im 7)) 1/4)) (* 5/128 (* (pow (/ 2 (pow im 11)) 1/4) re)))))) (pow (* 2 im) 1/4))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 11 binary64))) #s(literal 1/4 binary64)) re) #s(literal 5/128 binary64) (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 7 binary64))) #s(literal 1/4 binary64)) #s(literal 1/32 binary64))) re (*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/4 binary64)) #s(literal -1/4 binary64))) re (pow.f64 (*.f64 #s(literal 2 binary64) im) #s(literal 1/4 binary64)))
(* 2 im)
(*.f64 #s(literal 2 binary64) im)
(+ (* -2 re) (* 2 im))
(fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 #s(literal 2 binary64) im))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 re 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))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.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/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 #s(literal -1/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 (+ (* -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 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 #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))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/16 binary64))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* im (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(sqrt (/ 1 re))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(* 1/64 (/ (pow im 4) (pow re 5)))
(/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/64 binary64)) (pow.f64 re #s(literal 5 binary64)))
(/ (+ (* 1/64 (pow im 4)) (* 1/8 (* (pow im 2) (* (pow re 2) (* (sqrt 1/2) (sqrt 2)))))) (pow re 5))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re re)) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/64 binary64))) (pow.f64 re #s(literal 5 binary64)))
(/ (+ (* 1/64 (pow im 4)) (* (pow re 2) (- (* (pow re 2) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))))) (pow re 5))
(/.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 re re) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/64 binary64))) (pow.f64 re #s(literal 5 binary64)))
(* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))
im
(+ im (* -1 re))
(fma.f64 #s(literal -1 binary64) re im)
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(fma.f64 (-.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) #s(literal 1 binary64)) re im)
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im)) re) #s(literal 1 binary64)) re im)
(* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))
(*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (sqrt (pow re 5)) (* (sqrt 1/2) (sqrt 2)))) (pow re 3))
(/.f64 (fma.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal 5 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 re))) (pow.f64 re #s(literal 3 binary64)))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* -1 (* (pow re 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(/.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (sqrt.f64 re)) #s(literal 0 binary64))) (*.f64 (neg.f64 (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 re re) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 re))) (pow.f64 re #s(literal 3 binary64)))
(/ (+ (* -1/8 (* (pow im 2) (sqrt re))) (* (pow re 2) (- (* (pow re 2) (- (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))))))) (pow im 2))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 2)) (sqrt re)))))) (* -1 (* (sqrt re) (* (sqrt 1/2) (sqrt 2))))))) (pow re 3))
(/.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (sqrt.f64 re)) #s(literal 0 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 im im)) #s(literal 8 binary64)) (*.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (sqrt.f64 re)) #s(literal 0 binary64))) (*.f64 re re) (*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 re re) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 re))) (pow.f64 re #s(literal 3 binary64)))
(sqrt (/ 1 (pow re 5)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal -1/128 binary64) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (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 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (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 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 #s(literal 1/64 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal -1/1024 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 #s(literal 1/64 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))))))
(exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))))
(fma.f64 (/.f64 #s(literal -1/16 binary64) re) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (*.f64 im im)) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4))))
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) re) (/.f64 (*.f64 im im) re)) #s(literal -1/16 binary64) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/96 binary64) (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2)))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* -1/1536 (* (pow im 2) (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))))) (+ (* -1/24576 (pow im 6)) (* 1/2880 (+ (* -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)) (/ (* (exp (* 1/4 (+ (log (/ 1 re)) (log (pow im 2))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/4 (pow im 4)) (* 3 (pow im 4)))))) (pow re 4)))))
(+.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) re) (/.f64 (*.f64 im im) re)) #s(literal -1/16 binary64) (fma.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/96 binary64) (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))) (/.f64 (fma.f64 (*.f64 #s(literal -1/1536 binary64) (*.f64 im im)) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) (fma.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))) #s(literal 1/2880 binary64) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal -1/24576 binary64)))) (pow.f64 re #s(literal 6 binary64)))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (+.f64 (log.f64 (*.f64 im im)) (neg.f64 (log.f64 re)))))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(/ (+ (* -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)) re)
(/ (+ (* -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))) re)
(/ (+ (* -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 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal -1 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)))) re)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal -1/512 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 #s(literal 1/32 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (*.f64 (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(* (pow re 2) (- (/ 1 im) (* 2 (/ 1 re))))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) re)) (*.f64 re re))
(* (pow re 2) (- (+ (* 2 (/ im (pow re 2))) (/ 1 im)) (* 2 (/ 1 re))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 #s(literal 2 binary64) re) (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) re))) (*.f64 re re))
(/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re)
(/.f64 #s(literal 1 binary64) re)
(/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) re)
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/8 binary64) #s(literal 1 binary64)) re)
(/ (- (+ (* 1/64 (/ (pow im 4) (pow re 4))) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 2)))) re)
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/64 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/8 binary64) #s(literal 1 binary64))) re)
(* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3)))
(*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64))
(/ (- (* 1/64 (/ (pow im 4) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt 1/2) (sqrt 2))))) (pow re 3))
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal 1/64 binary64) re) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (pow.f64 re #s(literal 3 binary64)))
(* 1/2 (/ (pow im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 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) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re)
(/ (+ (* -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 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) re)
(/ (+ (* -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 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))) re)
(+ (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))
(fma.f64 (/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 0 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))
(- (+ (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))) (* (pow re 6) (* (sqrt 1/2) (sqrt 2))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (+ (* -1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (pow im 4) (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5))))))))
(fma.f64 (*.f64 (*.f64 im im) (*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (/.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/8 binary64) (-.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/64 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (fma.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))))
(* -2 (* (sqrt re) (sqrt -1)))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 1/2 binary64))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/8 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im))) (sqrt.f64 re) (*.f64 (*.f64 #s(literal 1/64 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/16 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/16 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/96 binary64) (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64))))) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))))
(+ (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re))))))) (pow re 2))) (+ (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/24576 (pow im 6)) (+ (* 1/2880 (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6))))) (* 1/1536 (* (pow im 2) (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))))) (pow re 6)) (/ (* (exp (* 1/4 (+ (log 4) (* -1 (log (/ -1 re)))))) (+ (* 1/512 (pow im 4)) (* 1/96 (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4)))))) (pow re 4)))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/16 binary64) (fma.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))) (/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/96 binary64) (*.f64 #s(literal 1/512 binary64) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))) (/.f64 (fma.f64 #s(literal 1/24576 binary64) (pow.f64 im #s(literal 6 binary64)) (fma.f64 (*.f64 #s(literal 1/1536 binary64) (*.f64 im im)) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) (*.f64 (fma.f64 #s(literal 15/4 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 135/4 binary64))) #s(literal 1/2880 binary64)))) (pow.f64 re #s(literal 6 binary64)))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -1 binary64) (log.f64 #s(literal 4 binary64)))))
(* -4 re)
(*.f64 #s(literal -4 binary64) re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 im re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 4 binary64)))
(* -1 (* 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 (neg.f64 re) (+.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) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))))) #s(literal 4 binary64)))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (sqrt.f64 #s(literal -1 binary64)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (*.f64 #s(literal 1/32 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(*.f64 (neg.f64 im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal -1 binary64))
(* (pow re 2) (+ (* -1 (/ (+ 2 (* -2 (/ im re))) re)) (/ 1 im)))
(*.f64 (fma.f64 (/.f64 (fma.f64 (/.f64 im re) #s(literal -2 binary64) #s(literal 2 binary64)) re) #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) im)) (*.f64 re re))
(* -1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 5)))
(/.f64 (*.f64 #s(literal -1/64 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64))) (pow.f64 re #s(literal 5 binary64)))
(* -1 (/ (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2)) re))
(/.f64 #s(literal 1 binary64) re)
(* -1 (/ (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) re))
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal -2 binary64))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/8 binary64) #s(literal -1 binary64)) (neg.f64 re))
(* -1 (/ (- (+ (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 4))) (* (pow (sqrt -2) 2) (pow (sqrt 1/2) 2))) (* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 2)))) re))
(/.f64 (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/64 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal -2 binary64))) (*.f64 im im)) (*.f64 re re)) #s(literal 1/8 binary64) #s(literal -1 binary64))) (neg.f64 re))
(* -1/8 (/ (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (pow re 3)))
(/.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 im im)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal -2 binary64)))) (pow.f64 re #s(literal 3 binary64)))
(* -1 (/ (- (* 1/64 (/ (* (pow im 4) (pow (sqrt -1) 2)) (pow re 2))) (* -1/8 (* (pow im 2) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))) (pow re 3)))
(/.f64 (fma.f64 (/.f64 #s(literal 1/64 binary64) re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1 binary64)) re) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal -2 binary64))))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))
(* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(* -2 re)
(*.f64 #s(literal -2 binary64) re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 2 binary64)))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (-.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -2 binary64)))
(* -1 (* 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 (neg.f64 re) (-.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) (/.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))))) #s(literal -2 binary64)))
(+ (* -1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 im im) #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))))
(- (+ (* -1 (/ (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))) (pow re 4))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))
(fma.f64 (/.f64 (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64)))) #s(literal 0 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 im im) #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))
(- (+ (* 1/8 (/ (* (pow im 2) (* (sqrt -1) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re)))) (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 re))))))) (* (pow re 6) (* (sqrt -2) (sqrt 1/2))))) (* (sqrt (/ 1 re)) (* (sqrt -2) (* (sqrt -1) (sqrt 1/2))))) (+ (* -1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 4) (pow (sqrt -1) 3)) (* (sqrt -2) (sqrt 1/2))) (sqrt (/ 1 (pow re 9))))) (* 1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5))))))))
(fma.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 (pow.f64 re #s(literal 6 binary64)) (sqrt.f64 #s(literal -2 binary64)))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64)))) #s(literal 0 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -2 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (fma.f64 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal -2 binary64)))) #s(literal -1/64 binary64) (fma.f64 (*.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal 4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal -2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 im im) #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))))))
(* -1/8 (* (* (pow im 2) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow re 5)))))
(*.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 im im) #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))
(* (sqrt (/ 1 (pow re 5))) (pow (sqrt -1) 2))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1 binary64))
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(*.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))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 7/128 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -33/1024 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 13 binary64)))) (*.f64 #s(literal 7/128 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 re) (*.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 im im) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal -1/4 binary64))) (*.f64 im im))) (*.f64 im im) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) im)
(exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* -1/16 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 2))))
(fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (*.f64 re re)) #s(literal -1/16 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* 13/512 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 4))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (pow.f64 re #s(literal 4 binary64))) #s(literal 13/512 binary64) (*.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 re re)) #s(literal -1/16 binary64))) (*.f64 im im) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(+ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (* (pow im 2) (+ (* -1/16 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 2))) (* (pow im 2) (+ (* -119/8192 (/ (* (pow im 2) (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im)))))) (pow re 6))) (* 13/512 (/ (exp (* 1/4 (+ (log (/ 1 re)) (* 2 (log im))))) (pow re 4))))))))
(fma.f64 (fma.f64 (/.f64 #s(literal -1/16 binary64) re) (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) re) (*.f64 (fma.f64 (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (pow.f64 re #s(literal 4 binary64))) #s(literal 13/512 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))) (*.f64 im im)) (pow.f64 re #s(literal 6 binary64))) #s(literal -119/8192 binary64))) (*.f64 im im))) (*.f64 im im) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 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))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) #s(literal -5/64 binary64) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (*.f64 im im) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (*.f64 #s(literal 1/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 re re)) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal -1/2 binary64))) (*.f64 im im))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im)
(/ (+ (* -2 (* im re)) (pow re 2)) im)
(/.f64 (fma.f64 (*.f64 re im) #s(literal -2 binary64) (*.f64 re re)) im)
(/ (+ (* im (+ (* -2 re) (* 2 im))) (pow re 2)) im)
(/.f64 (fma.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im)) im (*.f64 re re)) im)
(+ (* 1/8 (/ (* (pow im 2) (* (sqrt 1/2) (sqrt 2))) (pow re 3))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(fma.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (pow.f64 re #s(literal 3 binary64))) #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) re))
(+ (* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3))))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) re))
(fma.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 5 binary64))) #s(literal 1/64 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64))))) (*.f64 im im) (/.f64 #s(literal 1 binary64) re))
(* (pow im 2) (- (* 1/64 (/ (pow im 2) (pow re 5))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (pow re 3)))))
(*.f64 (fma.f64 (/.f64 (*.f64 im im) (pow.f64 re #s(literal 5 binary64))) #s(literal 1/64 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64))))) (*.f64 im im))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))
(*.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))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 im im)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) (/.f64 (*.f64 im im) (pow.f64 re #s(literal 7 binary64))) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 im im)) (/.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))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* -1 (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(fma.f64 (fma.f64 (*.f64 (neg.f64 im) im) (*.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 1/2 binary64)))) #s(literal 0 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))))
(+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (- (* (pow im 2) (- (* 1/8 (/ (* (pow im 2) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))))) (* (pow re 2) (* (sqrt 1/2) (sqrt 2))))) (+ (* -1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2))))) (* 1/64 (* (sqrt (/ 1 (pow re 9))) (/ 1 (* (sqrt 1/2) (sqrt 2)))))))) (* 1/8 (sqrt (/ 1 (pow re 5)))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 1/2 binary64)))) (/.f64 #s(literal 0 binary64) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/8 binary64) (*.f64 (neg.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 1/2 binary64))))) #s(literal 0 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (neg.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 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -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))))))
(*.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (/.f64 re (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (/.f64 re #s(literal 2 binary64)) (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) #s(literal -1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64)))))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -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/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))))))) im)
(exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)))
(fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) im)) #s(literal -1/4 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2))))
(+.f64 (fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) im)) #s(literal -1/4 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1/8 binary64) (*.f64 (*.f64 re re) #s(literal 1/32 binary64))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 im im))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im))))))) im)) (+ (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) (pow im 3)) (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ 1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) (pow im 2)))))
(+.f64 (fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) im)) #s(literal -1/4 binary64) (fma.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (/.f64 (fma.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1/8 binary64) (*.f64 (*.f64 re re) #s(literal 1/32 binary64))) (*.f64 im im)) (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) re) #s(literal -1/32 binary64) (fma.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) #s(literal 1/24 binary64) (*.f64 #s(literal -1/384 binary64) (pow.f64 re #s(literal 3 binary64))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64))))) (pow.f64 im #s(literal 3 binary64))))) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(* 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 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64)) (*.f64 (/.f64 re im) (/.f64 re im))) im)
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64)) (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.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/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))) im)
(* (pow im 4) (+ (* 1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3)))) (* 1/64 (/ 1 (pow re 5)))))
(*.f64 (fma.f64 (/.f64 #s(literal 1/8 binary64) (*.f64 im im)) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/64 binary64) (pow.f64 re #s(literal 5 binary64)))) (pow.f64 im #s(literal 4 binary64)))
(* (pow im 4) (- (+ (* 1/64 (/ 1 (pow re 5))) (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (* (pow im 4) re))) (* -1/8 (/ (* (sqrt 1/2) (sqrt 2)) (* (pow im 2) (pow re 3))))))
(*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) re)) (/.f64 #s(literal 1/64 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (/.f64 #s(literal -1/8 binary64) (*.f64 im im)) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64))))) (pow.f64 im #s(literal 4 binary64)))
(* im (+ 1 (* -1 (/ re im))))
(*.f64 (fma.f64 (/.f64 re im) #s(literal -1 binary64) #s(literal 1 binary64)) im)
(* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))
(*.f64 (-.f64 (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (/.f64 re im)) im)
(* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))
(*.f64 (+.f64 #s(literal 1 binary64) (-.f64 (fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 4 binary64)))) (/.f64 re im))) im)
(* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))))
(*.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (*.f64 im im))
(* (pow im 2) (- (+ (* -1 (/ (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2))))) (pow im 4))) (* -1/8 (sqrt (/ 1 (pow re 5))))) (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re))))))
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) #s(literal 1 binary64)) #s(literal 0 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64)))) (*.f64 im im))
(* (pow im 2) (- (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 8 (/ (* (pow re 2) (* (sqrt 1/2) (* (sqrt 2) (+ (* -8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))) (* 8 (* (sqrt (pow re 3)) (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)))))))) (pow im 6)))) (+ (* -8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3)))) (+ (* -1 (* (/ (* (sqrt 1/2) (sqrt 2)) (pow im 2)) (sqrt (/ 1 re)))) (* 8 (* (/ (* (pow (sqrt 1/2) 2) (pow (sqrt 2) 2)) (pow im 4)) (sqrt (pow re 3))))))))
(*.f64 (-.f64 (fma.f64 (*.f64 (*.f64 re re) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) #s(literal 1 binary64)) #s(literal 0 binary64))) (pow.f64 im #s(literal 6 binary64)))) #s(literal 8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/8 binary64))) (fma.f64 (*.f64 #s(literal -8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (pow.f64 re #s(literal 3 binary64))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (neg.f64 im) im))))) (*.f64 im im))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal -1 binary64))) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* -1 (* (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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (neg.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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -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)))))))
(*.f64 (neg.f64 im) (fma.f64 (neg.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 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64)))))) (neg.f64 (pow.f64 im #s(literal 3 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 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) 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/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 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 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/16 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
(exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* 1/4 (/ (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))) im)))
(fma.f64 (*.f64 re (/.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) im)) #s(literal 1/4 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1/8 binary64) (*.f64 (*.f64 re re) #s(literal 1/32 binary64)))) (neg.f64 im))) im) #s(literal -1 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(+ (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (* -1 (/ (+ (* -1 (/ (+ (* -1 (/ (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* -1/32 (* re (+ (* -1 (pow re 2)) (pow re 2)))) (+ (* -1/384 (pow re 3)) (* 1/24 (+ (* -2 (pow re 3)) (* 3 (pow re 3))))))) im)) (* (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im)))))) (+ (* 1/32 (pow re 2)) (* 1/8 (+ (* -1 (pow re 2)) (pow re 2)))))) im)) (* -1/4 (* re (exp (* 1/4 (+ (log 2) (* -1 (log (/ -1 im))))))))) im)))
(fma.f64 (/.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) re) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (/.f64 (fma.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1/8 binary64) (*.f64 (*.f64 re re) #s(literal 1/32 binary64))) (/.f64 (*.f64 (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 0 binary64) (*.f64 re re)) re) #s(literal -1/32 binary64) (fma.f64 (*.f64 (pow.f64 re #s(literal 3 binary64)) #s(literal 1 binary64)) #s(literal 1/24 binary64) (*.f64 #s(literal -1/384 binary64) (pow.f64 re #s(literal 3 binary64)))))) (neg.f64 im))) (neg.f64 im))) im) #s(literal -1 binary64) (pow.f64 (exp.f64 #s(literal 1/4 binary64)) (fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)))))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (*.f64 (neg.f64 re) re) im)) im) #s(literal -1 binary64) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(*.f64 (neg.f64 im) (-.f64 (/.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))) (neg.f64 im)) #s(literal -2 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 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 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) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im)) #s(literal 3/8 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal -1 binary64) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (- (* 2 (/ re im)) 2)))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal -2 binary64)))
(* -1 (* im (- (* -1 (/ (+ (* -2 re) (/ (pow re 2) im)) im)) 2)))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (*.f64 re re) im)) im) #s(literal -1 binary64) #s(literal -2 binary64)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (/ re im))))
(*.f64 (neg.f64 im) (+.f64 (/.f64 re im) #s(literal 1 binary64)))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64)) re) im) #s(literal -1 binary64) #s(literal 1 binary64)))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (-.f64 (/.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))) (neg.f64 im)) re) im) #s(literal -1 binary64) #s(literal 1 binary64)))

rewrite97.0ms (1.6%)

Memory
-2.2MiB live, 98.3MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
066604
0107449
0414446
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
26 → 103
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))
(+.f64 im im)
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
#s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) 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 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(-.f64 (hypot.f64 im re) re)
(*.f64 #s(literal 2 binary64) im)
(/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))
Outputs
(*.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (neg.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 #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)))
(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))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/8 binary64)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/8 binary64)))
(*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (hypot.f64 re im) re) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) #s(literal 2 binary64))) #s(literal 1/4 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 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64)))))
(pow.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im #s(literal 2 binary64)))
(*.f64 im #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) im)
(/.f64 (-.f64 (*.f64 im im) (*.f64 im im)) (-.f64 im im))
(/.f64 (+.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 im im) (*.f64 im im))))
(+.f64 im im)
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) im)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) im)))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) im))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 re)) im)
(*.f64 im (/.f64 #s(literal 1 binary64) (sqrt.f64 re)))
(pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (sqrt.f64 re))
(sqrt.f64 (pow.f64 re #s(literal -1 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 im #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(*.f64 #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 im #s(literal 2 binary64))))))
(pow.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64)))) #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 im #s(literal 2 binary64)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re)) (*.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 im #s(literal 2 binary64)))) (-.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (*.f64 im #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) #s(literal 3 binary64)) (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (-.f64 (*.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 im #s(literal 2 binary64))) (*.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (*.f64 im #s(literal 2 binary64))))))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64)))
(fma.f64 re (-.f64 (/.f64 re im) #s(literal 2 binary64)) (*.f64 im #s(literal 2 binary64)))
(fma.f64 im #s(literal 2 binary64) (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(fma.f64 #s(literal 2 binary64) im (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(-.f64 (*.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 im #s(literal 2 binary64)))
(+.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re))
(*.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(*.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(*.f64 (fabs.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (fabs.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))))
(*.f64 (pow.f64 re #s(literal -5/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(*.f64 (pow.f64 re #s(literal -5 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))) #s(literal 3 binary64))) (fma.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))))))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (fabs.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (fabs.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))
(-.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(+.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))))
(+.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))) (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))))))
(fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(fma.f64 (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (neg.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(fma.f64 (fabs.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (fabs.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(fma.f64 (pow.f64 re #s(literal -5/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(fma.f64 (pow.f64 re #s(literal -5 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -5/2 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))
(+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 2 binary64)) (*.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 (hypot.f64 re im) (hypot.f64 re im)) (*.f64 re re)) (+.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (hypot.f64 re im) (hypot.f64 re im) (fma.f64 re re (*.f64 (hypot.f64 re im) re))))
(-.f64 (hypot.f64 re im) re)
(*.f64 im #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) im)
(/.f64 (-.f64 (*.f64 im im) (*.f64 im im)) (-.f64 im im))
(/.f64 (+.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 im im) (*.f64 im im))))
(+.f64 im im)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) #s(literal 3 binary64)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 3 binary64))) im) (fma.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64))) (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))) #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 re #s(literal -5/2 binary64)) (*.f64 #s(literal -1/16 binary64) (*.f64 im im))) #s(literal 2 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)) (pow.f64 re #s(literal -5/2 binary64)))
(*.f64 (pow.f64 re #s(literal -5/2 binary64)) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64))
(pow.f64 re #s(literal -5/2 binary64))
(sqrt.f64 (pow.f64 re #s(literal -5 binary64)))

eval84.0ms (1.4%)

Memory
-23.7MiB live, 69.9MiB allocated; 5ms collecting garbage
Compiler

Compiled 23 483 to 2 230 computations (90.5% saved)

prune39.0ms (0.6%)

Memory
-5.9MiB live, 43.1MiB allocated; 19ms collecting garbage
Pruning

15 alts after pruning (4 fresh and 11 done)

PrunedKeptTotal
New3191320
Fresh033
Picked145
Done077
Total32015335
Accuracy
100.0%
Counts
335 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.5%
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
82.0%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
56.0%
(*.f64 (sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* im im) (* re re))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
53.6%
(*.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))
14.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
53.6%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
16.9%
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (/.f64 im re)))) #s(literal 1/2 binary64))
25.0%
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
5.1%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) #s(approx (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (/.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 re re) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/64 binary64))) (pow.f64 re #s(literal 5 binary64))))) im)) #s(literal 1/2 binary64))
24.9%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/2 binary64))
41.9%
(*.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.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
26.1%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
53.1%
(*.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))))
24.8%
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 1 323 to 498 computations (62.4% saved)

regimes55.0ms (0.9%)

Memory
24.3MiB live, 117.0MiB allocated; 7ms collecting garbage
Counts
28 → 2
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.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)) (*.f64 #s(literal -4 binary64) 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 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.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(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (/.f64 im re)))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.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 (-.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) (-.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))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 (/.f64 im re) (/.f64 im re)) re)) re))))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #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) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) im)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/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 (*.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))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) #s(approx (+ (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (* (pow re -1) 2)) (sqrt 1/2))) (- (* (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))) (* (* (sqrt (* (pow re -1) 2)) (sqrt 1/2)) (* (sqrt (pow re -5)) (* (* -1/16 (* im im)) 2))))) (/.f64 (fma.f64 (fma.f64 (*.f64 re re) #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 re re) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/64 binary64))) (pow.f64 re #s(literal 5 binary64))))) im)) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64)))) (*.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 im im)) #s(literal 2 binary64))))))) im)) #s(literal 1/2 binary64))
Outputs
(*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) 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))
Calls

7 calls:

9.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)
7.0ms
im
7.0ms
re
7.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))))
Results
AccuracySegmentsBranch
82.0%1(*.f64 im im)
92.4%2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
92.4%2(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
92.7%2(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
92.7%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))))
87.2%2re
82.0%1im
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes67.0ms (1.1%)

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

7 calls:

33.0ms
im
7.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
5.0ms
re
5.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))))
5.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
67.1%3(*.f64 im im)
69.7%4im
80.8%4re
77.1%3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
77.1%3(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
77.4%3(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
77.4%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))))
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes5.0ms (0.1%)

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

1 calls:

4.0ms
re
Results
AccuracySegmentsBranch
79.1%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes4.0ms (0.1%)

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

1 calls:

3.0ms
re
Results
AccuracySegmentsBranch
79.0%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes35.0ms (0.6%)

Memory
-15.6MiB live, 32.3MiB allocated; 8ms collecting garbage
Counts
8 → 3
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.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)) (*.f64 #s(literal -4 binary64) 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 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.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(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) 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 #s(literal -4 binary64) re))))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.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)) (/.f64 (*.f64 im im) re))))
Calls

5 calls:

24.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
re
2.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
2.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Results
AccuracySegmentsBranch
62.7%3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
62.7%3(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
62.5%2(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
62.5%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))))
73.9%3re
Compiler

Compiled 51 to 40 computations (21.6% saved)

regimes3.0ms (0%)

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

1 calls:

2.0ms
re
Results
AccuracySegmentsBranch
69.1%2re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes8.0ms (0.1%)

Memory
-24.2MiB live, 22.9MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

7 calls:

2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
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
im
1.0ms
re
1.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
AccuracySegmentsBranch
53.6%1(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
53.6%1(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
53.6%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
53.6%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))))
53.6%1(*.f64 im im)
53.6%1im
53.6%1re
Compiler

Compiled 55 to 45 computations (18.2% saved)

bsearch0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
4.937964856974359e-132
Compiler

Compiled 18 to 17 computations (5.6% saved)

bsearch71.0ms (1.2%)

Memory
29.7MiB live, 126.1MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
501698.1461392432
1630839698.1384573
13.0ms
-2.9492304992100044e-134
-2.101651886348576e-138
18.0ms
-5.505301207243845e+125
-1.866943903507324e+108
Samples
24.0ms355×0valid
19.0ms34×2valid
3.0ms20×1valid
2.0ms3valid
Compiler

Compiled 1 180 to 854 computations (27.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-hypot: 23.0ms (63.7% of total)
ival-mult: 5.0ms (13.9% of total)
ival-sqrt: 3.0ms (8.3% of total)
adjust: 2.0ms (5.5% of total)
ival-sub: 2.0ms (5.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch41.0ms (0.7%)

Memory
10.2MiB live, 57.1MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
2.0ms
501698.1461392432
1630839698.1384573
35.0ms
-1.6183742801053144e-49
-7.719603093744247e-57
Samples
27.0ms144×0valid
Compiler

Compiled 935 to 641 computations (31.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-hypot: 3.0ms (36.3% of total)
ival-mult: 2.0ms (24.2% of total)
ival-sub: 1.0ms (12.1% of total)
ival-sqrt: 1.0ms (12.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch36.0ms (0.6%)

Memory
-33.2MiB live, 58.2MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
1.2019671598571058e-32
1.1525654531535553e-31
4.0ms
-1.6183742801053144e-49
-7.719603093744247e-57
Samples
9.0ms27×2valid
9.0ms54×0valid
3.0ms12×1valid
1.0ms3valid
Compiler

Compiled 702 to 503 computations (28.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-hypot: 6.0ms (34.4% of total)
ival-sqrt: 5.0ms (28.7% of total)
ival-mult: 3.0ms (17.2% of total)
adjust: 2.0ms (11.5% of total)
ival-sub: 1.0ms (5.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch46.0ms (0.8%)

Memory
27.1MiB live, 75.8MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
41.0ms
4.5420705048856346e+160
4.988698494397777e+164
2.0ms
-1.6183742801053144e-49
-7.719603093744247e-57
Samples
11.0ms28×1valid
10.0ms28×3valid
10.0ms36×2valid
3.0ms36×0valid
Compiler

Compiled 680 to 541 computations (20.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-hypot: 15.0ms (53.7% of total)
adjust: 4.0ms (14.3% of total)
ival-mult: 4.0ms (14.3% of total)
ival-sqrt: 3.0ms (10.7% of total)
ival-sub: 2.0ms (7.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
3.5MiB live, 3.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
-1.6183742801053144e-49
-7.719603093744247e-57
Compiler

Compiled 360 to 293 computations (18.6% saved)

simplify81.0ms (1.3%)

Memory
-16.9MiB live, 74.2MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092426
1124426
2201426
3329426
4790426
55102426
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 (*.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 0 binary64)) (*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) 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 -77999999999999996720146569104194058462051133569401458821290826446589405537747811046061418858175804248358619031529743974400 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal -7122897962782005/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064 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)))) (if (<=.f64 re #s(literal 230000000 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(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 230000000 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(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 7855571300653603/365375409332725729550921208179070754913983135744 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 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 54000000000000000040359163202085010931506144624669211864763946279313648514410482207018648671963319981377639032661552124063557523161472774378598994783538188910592 binary64)) (*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.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)) (/.f64 (*.f64 im im) re))))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
Outputs
(if (<=.f64 (*.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 0 binary64)) (*.f64 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) 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 -77999999999999996720146569104194058462051133569401458821290826446589405537747811046061418858175804248358619031529743974400 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal -7122897962782005/209496998905353079680844140596966345741865090946756146526930647558152562969899171512529285908857866057656747784163844544589904418936665155413025765720064 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)))) (if (<=.f64 re #s(literal 230000000 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(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 230000000 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(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 7855571300653603/365375409332725729550921208179070754913983135744 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 #s(approx (* (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4) (pow (* (- (sqrt (+ (* re re) (* im im))) re) 2) 1/4)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 54000000000000000040359163202085010931506144624669211864763946279313648514410482207018648671963319981377639032661552124063557523161472774378598994783538188910592 binary64)) (*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.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)) (/.f64 (*.f64 im im) re))))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (if (<=.f64 re #s(literal 54000000000000000040359163202085010931506144624669211864763946279313648514410482207018648671963319981377639032661552124063557523161472774378598994783538188910592 binary64)) (*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.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)) (/.f64 (*.f64 im im) re))))))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64)))
(if (<=.f64 re #s(literal -7161235833461889/210624583337114373395836055367340864637790190801098222508621955072 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (+.f64 im im))) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))) #s(literal 1/2 binary64))

derivations272.0ms (4.5%)

Memory
-11.1MiB live, 277.3MiB allocated; 59ms collecting garbage
Stop Event
fuel
Compiler

Compiled 478 to 89 computations (81.4% saved)

preprocess43.0ms (0.7%)

Memory
36.0MiB live, 81.8MiB allocated; 6ms collecting garbage
Remove

(abs im)

Compiler

Compiled 1 250 to 346 computations (72.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...